>백엔드 개발 >PHP 튜토리얼 >php出现curl 35号错误怎么办

php出现curl 35号错误怎么办

PHPz
PHPz원래의
2016-06-02 11:29:265241검색

php出现curl 35号错误怎么办

php出现curl 35号错误怎么办?

PHP开发-用curl向https发请求时的35号错误

放了个假发现以前写的程序的模拟登陆不管用了,中间输出,发现curl向https发请求时没有返回数据,输出错误信息,得到:

curl_errno($ch) -----> 35
curl_error($ch) -----> error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112)

查了很多资料,终于发现要强行指定SSL的版本,即加上下面的话就可以了:

curl_setopt($ch, CURLOPT_SSLVERSION, 3);

整个函数也贴下来供参考:

function sendPostHttps($url, $postData, $header=0, $referer=""){
    $ch = curl_init () ;
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_HEADER, $header);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_URL, $url) ;
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
    curl_setopt($ch, CURLOPT_REFERER, $referer);
    curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
    curl_setopt($ch, CURLOPT_SSLVERSION, 3);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

更多相关知识,请访问PHP中文网

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.