cURL больше не работает, выдает ошибку 408 - PullRequest
0 голосов
/ 01 января 2019

У меня есть код cURL, который работал раньше, но недавно он перестал работать и выдает ошибку тайм-аута 408 запроса.Я хочу знать причину, почему это перестало работать и как я могу это исправить.Вот код:

$curlSession = curl_init();
curl_setopt($curlSession, CURLOPT_HTTPHEADER, $header);
curl_setopt($curlSession, CURLOPT_URL, $actualUrl); 
curl_setopt($curlSession, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curlSession, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curlSession, CURLOPT_POST, 0);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curlSession, CURLOPT_TIMEOUT,1100);
curl_setopt($curlSession, CURLOPT_SSLCERT, $clientcert); 
curl_setopt($curlSession, CURLOPT_SSLCERTTYPE, 'PEM'); 
curl_setopt($curlSession, CURLOPT_SSLKEYTYPE, 'PEM'); 
curl_setopt($curlSession, CURLOPT_SSLKEY, $keyfile); 
curl_setopt($curlSession, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($curlSession, CURLOPT_USERAGENT, $agent);
$data = curl_exec($curlSession);

Я пробовал его с приложением Postman, и оно все еще работает на Postman без каких-либо задержек. Есть ли альтернатива cURL, которую я могу использовать, чтобы проверить это?

1 Ответ

0 голосов
/ 01 января 2019

Ошибка 408 Request Timeout - это код состояния HTTP, который означает, что запрос, отправленный на сервер веб-сайта (например, запрос на загрузку веб-страницы), занял больше времени, чем сервер веб-сайта был готов ждать.Другими словами, ваше соединение с веб-сайтом "истекло".

Вы можете сначала проверить свой API с почтальоном, чтобы убедиться, что он работает нормально.

Ваш API возвращает большой объем данныхили ваш удаленный сервер работает медленно, что приводит к длительному времени ответа на запрос?

См. документацию: http://www.php.net/manual/en/function.curl-setopt.php

CURLOPT_CONNECTTIMEOUT - количество секунд ожидания при попытке подключения.Используйте 0, чтобы ждать бесконечно.URLOPT_TIMEOUT - максимальное количество секунд, в течение которых функции cURL могут выполняться.

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); 
curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds

также не забудьте увеличить время выполнения php-скрипта, если это необходимо.

set_time_limit(0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...