【问题标题】:cURL and SSL, connect() time outcURL 和 SSL,connect() 超时
【发布时间】:2012-02-19 12:58:31
【问题描述】:

我正在使用 cURL 连接到 SSL 服务器以接收和发送 XML 文件,但我不断收到

"connect() 超时!"

当我尝试连接到服务器时。

我是 cURL 的新手,所以我不知道是服务器配置、某些证书或其他什么问题。

我尝试运行的代码(由 SSL 服务器的所有者提供给我):

function post($url, $post)
{
    $ch = curl_init();
    if($ch)
    {
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_TIMEOUT,60);
        curl_setopt($ch, CURLOPT_VERBOSE,0);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
        $result = curl_exec($ch);
        echo '<pre>', curl_error($ch);
        curl_close($ch);
        if(!empty($result))
            return $result;
    }
}

cURL 版本信息:

[version_number] => 463362
[age] => 3
[features] => 1597
[ssl_version_number] => 0
[version] => 7.18.2
[host] => i486-pc-linux-gnu
[ssl_version] => OpenSSL/0.9.8g
[libz_version] => 1.2.3.3
[protocols] => Array
    (
        [0] => tftp
        [1] => ftp
        [2] => telnet
        [3] => dict
        [4] => ldap
        [5] => ldaps
        [6] => http
        [7] => file
        [8] => https
        [9] => ftps
        [10] => scp
        [11] => sftp
    )

【问题讨论】:

  • 可以通过其他方式连接吗?尝试使用带有选项 -v 的命令行中的 curl,看看效果如何。
  • 不,这似乎也可以工作。我得到“连接超时”。
  • 您是否尝试过设置CURL_CONNECTTIMEOUT 选项?
  • 是的,我得到了相同的结果。如果我在浏览器中转到我尝试使用 cURL 连接的 URL,它将在几毫秒内加载..我认为这可能是相关的..
  • 可能是网络/防火墙问题。与 curl 或 php 无关

标签: php ssl curl


【解决方案1】:

该消息仅表示 TCP 连接过程在操作允许的时间内尚未完成。

如果您尝试在给定端口上通过 TCP 连接到应该可用的站点,那么您可能会怀疑存在防火墙、代理、NAT、路由器或其他设备,使其无法正常工作。

这并不是一个真正与 curl 相关的问题,您应该能够通过例如将 telnet 运行到同一主机 + 端口来验证这一点:“telnet [host] [port]”,因为这也会失败。

【讨论】:

  • 谢谢!我添加了以下规则:iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT 成功了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-20
  • 2011-12-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多