Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > curl + https, очень долго выполняется код!


Автор: Jin X 16.7.2015, 23:58
Вот этот код выполняется 20 секунд!
Код
<?php

$api_login = '...';  // Логин
$api_password = '...';  // Пароль
$api_request = '{"domains":[{"dname":"ya.ru"}]}';
$ch = curl_init('https://api.reg.ru/api/regru2/domain/check?input_format=json&input_data='.urlencode($api_request).'&username='.urlencode($api_login).'&password='.urlencode($api_password));
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$res = curl_exec($ch);
if (!$res) echo curl_error($ch);
else echo "<pre>$res</pre>";
curl_close($ch);

?>
Если я поставлю CURLOPT_TIMEOUT = 5, то 3 секунды, если 1, то сразу (правда, не всегда, иногда не успевает). В браузере же ответ приходит почти мгновенно.
Если заменить адрес на https://vk.com, ответ тоже придёт мгновенно... Пробовал всякие заголовки и опции добавлять - всё безрезультатно!
В чём проблема?

Автор: lumentek 25.8.2018, 00:57
Может дело в вашем сервере . Сделайте пинг от вашего сервера до рег ру и посмотрите как долго запрос идет. Если долго, то в курл прокси можно прописать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)