【问题标题】:cURL: Operation timed out after 0 millisecondscURL:操作在 0 毫秒后超时
【发布时间】:2014-04-24 12:20:44
【问题描述】:

cURL 给了我错误:

Operation timed out after 0 milliseconds with 0 out of 0 bytes received

尤其是“0毫秒”部分很可疑……

我的初始化代码:

$curl = curl_init($requestUrl); // private URL not published
curl_setopt($curl, CURLOPT_FRESH_CONNECT, true);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($curl, CURLOPT_HTTPHEADER, 
  array("Content-Type: application/xml", "Accept: application/xml"));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 20);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_HTTP200ALIASES, range(400, 599));
curl_setopt($curl, CURLOPT_SSLVERSION, 3);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

超时似乎设置正确,可能与它有关吗?

【问题讨论】:

标签: php curl


【解决方案1】:

我在尝试通过 https 连接时遇到了同样的问题。问题出在 ssl 版本上。 这对我来说效果很好:

$ch=curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSLVERSION, 3);

【讨论】:

  • 禁用主机验证很臭!并且 TS 已经使用了curl_setopt($curl, CURLOPT_SSLVERSION, 3);
猜你喜欢
  • 1970-01-01
  • 2017-08-31
  • 2021-07-04
  • 2020-09-07
  • 2021-05-28
  • 2021-08-23
  • 2021-04-23
  • 2014-03-19
  • 2021-06-29
相关资源
最近更新 更多