cURL不再起作用,并显示408错误

时间:2019-01-01 07:51:50

标签: php curl

我有一个曾经运行过的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 :(得分:0)

“ 408请求超时”错误是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);