PHP curl返回(35):SSL连接错误

时间:2014-09-24 06:01:37

标签: php ssl curl

我尝试使用php curl 7.35.0使用以下代码访问以下页面:

    $this->ch = curl_init();
    curl_setopt($this->ch, CURLOPT_CONNECTTIMEOUT, 3000);
    curl_setopt($this->ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36");
    curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, TRUE);
    curl_setopt($this->ch, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
    curl_setopt($this->ch, CURLOPT_TIMEOUT, 3600);
    curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($this->ch, CURLOPT_URL, 'https://asp.reflexion.net/login');
    curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1);
    $content  = curl_exec($this->ch);
    $httpCode = curl_getinfo($this->ch, CURLINFO_HTTP_CODE);
    if ($errno    = curl_errno($this->ch))
    {
        $error_message = curl_strerror($errno);
        echo "cURL error ({$errno}):\n {$error_message}";
    }
    echo "<br>";
    echo "http code: " . $httpCode . "<br>";
    echo "content: " . $content;

返回以下内容:

cURL错误(35):SSL连接错误

http代码:0 含量:

之前有没有人遇到过这个问题?

4 个答案:

答案 0 :(得分:2)

添加

curl_setopt($this->ch, CURLOPT_SSLVERSION , 3);

解决我的问题。

答案 1 :(得分:2)

通常,这是一个防火墙问题。 网络管理员禁止SSL连接。

答案 2 :(得分:1)

这对我有用: 的 yum update nss

来源:https://serverfault.com/a/642203

答案 3 :(得分:0)

这也解决了我的问题。

我们的环境

PHP 5.3.3 libcurl 7.19.7-46 google-api-php-client 1.1.5

在Google API客户端卷曲代码的深处,httpd将在curl_exec()内部死亡。将CURLOPT_SSLVERSION从1更改为3之后,一切都很好:)