时间:2021-05-26
今天一个同事反映,使用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
复制代码 代码如下:
$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/
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在网上看过很多版本的PHP异步请求方法,这里简单总结几个常用方法分享给大家1、用CURL实现一步请求CURL扩展是我们在开发过程中最常用的一种方法,他是一个强大
本文实例讲述了PHP实现获取ip地址的5种方法,以及插入用户登录日志操作。分享给大家供大家参考,具体如下:php获取ip地址的5种方法,插入用户登录日志实例,推
PHP开发中我们常用cURL方式封装HTTP请求,什么是cURL?cURL是一个用来传输数据的工具,支持多种协议,如在Linux下用curl命令行可以发送各种H
第一种方法:1,第一种方法:利用使用最广泛,最方便的Googleapi技术实现;2,第二种方法:1,第二种方法使用php类库PHPQRCode;下载地址:htt
在PHP中发送Http请求(GET/POST)有很多的方法,比如file_get_contents()函数、fopen()函数或者cURL扩展,但由于服务器的情