【发布时间】:2020-12-04 22:07:25
【问题描述】:
这是我正在执行的代码。
我尝试将超时变量设置为 30 秒和 3 秒。代码确实总是被执行,但在中间的某个地方它会停止并等待超时,然后才会打印“OK”。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.website.com/" . $settings["api_key"] . "/auth");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: application/json', 'Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POST, 4);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array("refID" => $row["id"], etc...)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$output = curl_exec($ch);
curl_close($ch);
echo "OK";
我不确定如何调试它。取决于我尝试在哪里打印东西来调试它停止的地方,它不会打印任何东西,直到 curl 超时。
我不知道它是否相关,但是当我使用 Java 库发出完全相同的请求时,我得到了这个返回。可能是 PHP 也受到远程服务器上的这个“错误”的影响,这就是原因?如果是这样,我能以某种方式逃避这个错误吗?
dec 04, 2020 10:48:54 EM org.apache.http.client.protocol.ResponseProcessCookies processCookies
WARNING: Invalid cookie header: "Set-Cookie: AWSALB=hSCo...; Expires=Fri, 11 Dec 2020 21:48:54 GMT; Path=/". Invalid 'expires' attribute: Fri, 11 Dec 2020 21:48:54 GMT
dec 04, 2020 10:48:54 EM org.apache.http.client.protocol.ResponseProcessCookies processCookies
WARNING: Invalid cookie header: "Set-Cookie: AWSALBCORS=hSCo...; Expires=Fri, 11 Dec 2020 21:48:54 GMT; Path=/; SameSite=None; Secure". Invalid 'expires' attribute: Fri, 11 Dec 2020 21:48:54 GMT
任何帮助将不胜感激!
【问题讨论】:
-
这看起来像是服务器发送了响应,但之后并没有关闭连接。
-
谢谢,我会询问服务的开发者是否关闭他们的连接。