php curl 获取https请求的2种方法
2015-04-27 00:00
1766 查看
今天一个同事反映,使用curl发起https请求的时候报错:“SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed”
很明显,验证证书的时候出现了问题。
使用curl如果想发起的https请求正常的话有2种做法:
方法一、设定为不验证证书和host。
在执行curl_exec()之前。设置option
方法二、设定一个正确的证书。
本地ssl判别证书太旧,导致链接报错ssl证书不正确。
我们需要下载新的ssl 本地判别文件
http://curl.haxx.se/ca/cacert.pem
放到 程序文件目录
curl 增加下面的配置
大功告成
(本人验证未通过。。。报错信息为:SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed)
如果对此感兴趣的话可以参看国外一大神文章。http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/
很明显,验证证书的时候出现了问题。
使用curl如果想发起的https请求正常的话有2种做法:
方法一、设定为不验证证书和host。
在执行curl_exec()之前。设置option
$ch = curl_init(); ...... curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
方法二、设定一个正确的证书。
本地ssl判别证书太旧,导致链接报错ssl证书不正确。
我们需要下载新的ssl 本地判别文件
http://curl.haxx.se/ca/cacert.pem
放到 程序文件目录
curl 增加下面的配置
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,true); ; curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).'/cacert.pem');
大功告成
(本人验证未通过。。。报错信息为:SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed)
如果对此感兴趣的话可以参看国外一大神文章。http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/
相关文章推荐
- php curl 获取https请求的2种方法
- php使用curl获取https请求的方法
- Web HttpServletRequest的getRequestURL方法获取不到https协议请求问题
- https php使用curl获取https请求的方法
- curl 获取 https 请求方法
- php使用curl获取https请求的方法
- doPost方法中获取请求信息
- 获取鼠标点击相对于Canva位置的2种方法
- Spring3 MVC请求参数获取的几种方法
- 2种获取android系统可用内存方法的不同?
- PHP CURL获取返回值的方法
- jquery捕捉回车键及获取checkbox值与异步请求的方法
- Spring mvc (四) [继承MultiActionController实现以方法为单位的controller][配置2种请求的指定方式]
- Spring3 MVC请求参数获取的几种方法小结
- springmvc请求参数获取的几种方法
- file_get_contents无法请求https连接的解决方法
- Java获取此次请求URL以及服务器根路径的方法
- Charles安装破解、抓取https请求及常见问题解决方法
- php curl请求https接口返回curl: (60) SSL certificate problem: unable to get local issuer certificate 错误
- Java获取此次请求URL以及服务器根路径的方法