cURL 错误 28 - x 毫秒后连接超时
Posted
技术标签:
【中文标题】cURL 错误 28 - x 毫秒后连接超时【英文标题】:cURL error 28 - Connection timed out after x milliseconds 【发布时间】:2017-07-27 17:58:16 【问题描述】:是的。我知道关于这个错误有一些类似的问题,但我已经阅读了所有这些,但它并没有解决我的问题,所以:
我的php代码:
$url = 'example.domain.com/path/file.php'
$string = 'param=5';
$ch = curl_init();
// CURL options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded', 'Content-Length: ' . strlen($string)));
curl_setopt($ch, CURLOPT_POSTFIELDS, $string);
return curl_exec($ch);
我这样检查错误:
$curl_errno = curl_errno($ch);
$curl_error = curl_error($ch);
if($curl_errno > 0)
echo "cURL Error ($curl_errno): $curl_error\n";
$curl_errorno
是 28 并且
curl_error
是 10001 毫秒后连接超时
请帮助或了解我可以检查的内容。
来自 localhost 或其他服务器是否也在工作(curl 或 file_get_content)...有任何提示吗?
从本地机器我通过 php ~4sec 得到 cURL ok 响应 从服务器(主机服务器)外壳我收到错误 7 无法连接到 example.domain.com 端口 80:连接超时 如果在 php 中尝试file_get_contents
(来自主机服务器) - 无响应
URL - 可从浏览器访问(直接 php 文件)
如果我创建 ajax
请求 - 响应正常
如果我尝试添加到 url http 或 https - 总是同样的错误
如果我尝试将限制设置为 30 秒。结果相同
【问题讨论】:
您应该像这样将 CURL_POST 设置为 1curl_setopt($ch, CURLOPT_POST, 1);
这可能不是问题的原因,但要发布您需要这样做。哦,你能提供你正在尝试使用的 php 文件的链接吗?
连接似乎只是卡住了,所以它会在 10 秒后超时。
允许请求的最长时间现在设置为 10 - 正常请求已经足够了;如果将CURLOPT_TIMEOUT
增加到 20,会发生什么?结果一样?
@daan.desmedt 是的
不可能了。评论只能编辑 5 分钟。我删除了我的评论:)
【参考方案1】:
我遇到了这个问题,这是因为您尝试发送请求的 API 不接受同时发送许多产品。然后你需要放置 PHP 睡眠函数,所以在每一个发送的行之间定义了一个范围。在您的代码中添加sleep(seconds of interval);
。
【讨论】:
【参考方案2】:您必须增加 CURLOPT_TIMEOUT 或完全删除 cURL 执行超时
【讨论】:
以上是关于cURL 错误 28 - x 毫秒后连接超时的主要内容,如果未能解决你的问题,请参考以下文章
Scala / Slick,“等待连接 20000 毫秒后超时”错误
com.mongodb.MongoTimeoutException:在等待连接的10000毫秒后超时
Facebook 开发人员工具抛出:Curl 错误:OPERATION_TIMEOUTED 操作在 10000 毫秒后超时,收到 -1 个字节中的 0 个