Adi Sumaryadi - Bicara IT dan Internet

Alternatif Bila Modul Curl di Disable Untuk Memanggil External API

Oleh Adi Sumaryadi pada Senin, 23 Oktober 2017 17:48 WIB

Modul curl di PHP yang berjalan di web server memang dirasa yang paling baik untuk pemanggilan API atau meng-hit URL yang ada di server luar atau eksternal, bahkan beberapa librari umum seperti Facebook Connect juga menggunakan CURL. Sayangnya beberapa hosting di Indonesia mematikan CURL reguler dan hanya menyalakan CURL SSL, itupun terkadang modul CURL_INIT dimatikan juga sehingga curl tidak bisa digunakan sama sekali. Biasanya ada pesan seperti dibawah ini:

Warning: curl_exec() has been disabled for security reasons

Nah, bila menemukan hal seperti itu, hal pertama anda harus coba mengontak provider hostingnya terlebih dahulu. Bila mungkin untuk meng-enable-kan modul CURL, berterima kasihlah. Namun bila tidak, sebaiknya anda coba menggunakan file_get_contents, tetapi sayapun tidak yakin fitur ini bisa berjalan. Beberapa kali saya coba, saya menggunakan FPUT dan ternyata berhasil. Contohnya scriptnya dapat dilihat dibawah ini.

$host = "www.namadomaintarget.com";
if ( $fp = fsockopen("ssl://{$host}", 443, $errno, $errstr, 30) ) {

$msg  = "GET /targetscript.php?variable=bilaada HTTP/1.1" . " ";
$msg .= 'Host: ' . $host . " ";
$msg .= 'Connection: close' . " ";
if ( fwrite($fp, $msg) )
{
while ( !feof($fp) ) {
   $response .= fgets($fp, 1024);
}
}
fclose($fp);
}
else {
$response = false;
}


Selamat mencoba dan semoga bermanfaat