Đây là chủ đề cũ nhưng trong thử nghiệm cuối cùng của tôi trên một API của tôi, cURL nhanh hơn và ổn định hơn. Đôi khi file_get_contents theo yêu cầu lớn hơn cần hơn 5 giây trong khi cURL chỉ cần từ 1,4 đến 1,9 giây, nhanh hơn gấp đôi.
Tôi cần thêm một lưu ý về điều này rằng tôi chỉ gửi GET và nhận nội dung JSON. Nếu bạn thiết lập cURL đúng cách, bạn sẽ có phản hồi tuyệt vời. Chỉ cần "nói" với cURL những gì bạn cần gửi và những gì bạn cần nhận và thế là xong.
Trên exampe của bạn, tôi muốn thực hiện thiết lập này:
$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);
Yêu cầu này sẽ trả về dữ liệu trong thời gian tối đa là 0,01 giây
cURL
có khả năng hơn nhiềufile_get_contents
. Như vậy là đủ.