Это старая тема, но в моем последнем тесте на одном моем API cURL был быстрее и стабильнее. Иногда file_get_contents для большего запроса требуется более 5 секунд, тогда как cURL требуется всего от 1,4 до 1,9 секунды, что вдвое быстрее.
Мне нужно добавить одно примечание по этому поводу, что я просто отправляю GET и получаю содержимое JSON. Если вы правильно настроите cURL, у вас будет отличный ответ. Просто «скажите» cURL, что вам нужно отправить и что вам нужно получить, и все.
На вашем экзамене я хотел бы сделать такую настройку:
$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);
Этот запрос вернет данные за 0,01 секунды максимум.
cURL
способен на большее, чемfile_get_contents
. Этого должно быть достаточно.