Ini adalah topik lama tetapi pada pengujian terakhir saya pada salah satu API saya, cURL lebih cepat dan lebih stabil. Terkadang file_get_contents pada permintaan yang lebih besar membutuhkan lebih dari 5 detik ketika cURL hanya membutuhkan dari 1,4 hingga 1,9 detik yang lebih cepat dua kali lipat.
Saya perlu menambahkan satu catatan tentang ini bahwa saya baru saja mengirim GET dan menerima konten JSON. Jika Anda mengatur cURL dengan benar, Anda akan mendapatkan respon yang bagus. Cukup "beri tahu" kepada cURL apa yang perlu Anda kirim dan apa yang perlu Anda terima dan hanya itu.
Atas contoh Anda, saya ingin melakukan penyiapan ini:
$ch = curl_init('http://api.bitly.com/v3/shorten?login=user&apiKey=key&longUrl=url');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json'));
$result = curl_exec($ch);
Permintaan ini akan mengembalikan data dalam maks 0,01 detik
cURL
mampu lebih darifile_get_contents
. Itu sudah cukup.