Несколько запросов PHP Curl
В настоящее время я часто использую Curl для PHP. Требуется много времени, чтобы получить результаты около 100 страниц каждый раз. Для каждого запроса я использую такой код
$ch = curl_init();
// get source
ch_close($ch);
Какие у меня есть варианты, чтобы ускорить процесс?
Как мне использовать multi_init и т. Д.>?
4 ответа
Решение
- Повторно используйте тот же обработчик cURL ($ch) без запуска curl_close. Это немного ускорит это.
- Используйте http://php.net/curl_multi_init для параллельного запуска процессов. Это может иметь огромный эффект.
Возьмите curl_multi - это намного лучше. Сохраните рукопожатия - они не нужны каждый раз!
Когда я использую код, указанный в " http://php.net/curl_multi_init", ответ на 2 запроса противоречив. Но код, написанный ниже по ссылке, возвращает каждый ответ отдельно (в формате массива) /questions/34870445/filegetcontents-iz-neskolkih-url/34870465#34870465
Или взять pcntl_fork
, fork
некоторые новые потоки для выполнения curl_exec
, Но это не так хорошо, как curl_multi
,