我有一个曾经运行过的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是否可以用来检查此内容?
答案 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);