您的位置:首页 > 理论基础 > 计算机网络

curl PHP linux 下取值 https

2013-04-10 13:56 190 查看
问题发现:

PHP中编程时 curl 返回 0.

测试:https://github.com

有值。

但用有密码权限的网址。返回 0.

在 shell 下 执行 curl 得到出错信息:如下:

curl: (35) Unknown SSL protocol error in connection to secure-distribution-xml.booking.com:443

下面这样就行:



<?php

$url = 'https://xxx.xxx.com/xxx/xx';

$curl = curl_init($url);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

curl_setopt($curl, CURLOPT_FAILONERROR, false);

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

$response = curl_exec($curl);

?>

记得设置CURLOPT_SSL_VERIFYPEER

shell命令的,可以加-k参数来允许不使用证书连接到SSL站点

curl -k "https://xxxx.xxx.xx/"

----------------------------------

当使用php curl 的时候,提示Unknown SSL protocol error in connection to

经过多次尝试,有两种途径可以解决。

一,不走ssl

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

经测试,对于强制要使用https的无效

二,是:

curl_setopt($ch, CURLOPT_SSLVERSION, 3); // Force SSLv3 to fix Unknown SSL Protocol error

原来CURLOPT_SSLVERSION: 传递一个包含SSL版本的长参数。默认PHP将被它自己努力的确定,在更多的安全中你必须手工设置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: