Мой веб-сайт Используйте Zebra_cURL
для получения параллельного запроса. Но при достижении около 500 запросов система начинает возвращать ошибку CURLE_COUDN'T_CONNECT
. Я также прочитал некоторые ответы на форумах. Я попробовал некоторые из них. Но не исправить.Пожалуйста, дайте быстрый ответ, если кто-то знает решение этой ошибки.В настоящее время я использую этот код.Предположим, что $com_url_arr_glo
Массив уже определен и содержит около 2300 URL.
$curl1 = new Zebra_cURL();
$curl1->cache('cache', 3600);
$curl1->option(CURLOPT_CONNECTTIMEOUT, 20);
$curl1->option(CURLOPT_FOLLOWLOCATION, 1);
$curl1->ssl(true);
$curl1->get($com_url_arr_glo, 'getsizemk');
getsizemk
- это функция Чтобы получить некоторую информацию внутри каждого URL после завершения очисткидля каждого URL. Это как указано в Документация Zebra cURL .
Это полный массив, который я получаю от Zebra_cURL после ошибки
[info] => Array
(
[original_url] => https://www.masterkreatif.com/page/12
[url] => https://www.masterkreatif.com/page/12
[content_type] =>
[http_code] => 0
[header_size] => 0
[request_size] => 162
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 30.109
[namelookup_time] => 1.0E-6
[connect_time] => 0.406
[pretransfer_time] => 0.906
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0
[redirect_url] =>
[primary_ip] => 104.24.117.230
[certinfo] => Array
(
)
[primary_port] => 443
[local_ip] => 192.168.43.56
[local_port] => 25775
)
[headers] => Array
(
[last_request] => Array
(
[0] => Array
(
[Request Method] => GET /page/12 HTTP/1.1
[Host] => www.masterkreatif.com
[User-Agent] => Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0)
[Accept] => */*
[Accept-Encoding] => gzip,deflate
)
)
[responses] => Array
(
)
)
[body] =>
[response] => Array
(
[0] => CURLE_OPERATION_TIMEDOUT
[1] => 28
)
ТакжеЗабыл сказать, URL работает очень хорошо!
Ребята! Я нашел решение. Но не знаю, что это применимо для всех типов этой ошибки. Но все яЭто просто добавление 5 секундной задержки между всеми обработанными 30 пакетами URL.Это все равно исправило эту ошибку.Спасибо, ребята за все комментарии!Все, что я добавил, это
$curl->pause_interval = 5;
$curl->threads = 30;
(Это для Zebra_cURL)