Использование файла получает содержимое или завиток
Я попросил использовать простой facebook api, чтобы вернуть количество понравившихся или разделяемых на работе, которые возвращают строку json.
Теперь, поскольку я собираюсь сделать это для очень большого количества ссылок, что лучше:
Использование file_get_contents или cURL.
Оба из них, похоже, возвращают те же результаты, и cURL кажется более сложным в использовании, но в чем разница между ними. почему большинство людей рекомендуют использовать cURL над file_get_contents?
Прежде чем я запустил api, который может потребовать целый день для обработки, мне понравится обратная связь.
Ответы
Ответ 1
Несколько лет назад я сравнивал два и CURL был быстрее. С помощью CURL вы создаете один экземпляр CURL, который может использоваться для каждого запроса, и он непосредственно сопоставляется с очень быстрой библиотекой libcurl. Используя file_get_contents, у вас есть накладные расходы на обертки протоколов, а код инициализации выполняется для каждого отдельного запроса.
Я выкопаю свой тест script и запустил PHP 5.3, но я подозреваю, что CURL все равно будет быстрее.
Ответ 2
cURL поддерживает запросы https более широко, чем file_get_contents, и это не слишком сложно. Несмотря на то, что однострочное решение file_get_contents является чистым, это служебные данные за пределами сцены больше, чем cURL.
$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,$feedURL);
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
Это то, что я использую для создания вызовов facebook api, поскольку многие из них требуют access_token, и facebook будет принимать информацию access_token только в безопасном соединении. Я также заметил большую разницу во времени выполнения (cURL намного быстрее).