Це стара тема, але в моєму останньому тесті на одному моєму 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
. Цього має бути достатньо.