php curl 获取https请求的2种方法


Posted in PHP onApril 27, 2015

今天一个同事反映,使用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/

PHP 相关文章推荐
对盗链说再见...
Oct 09 PHP
php trim 去除空字符的定义与语法介绍
May 31 PHP
PHP strncasecmp字符串比较的小技巧
Jan 04 PHP
解析csv数据导入mysql的方法
Jul 01 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 PHP
php正则匹配html中带class的div并选取其中内容的方法
Jan 13 PHP
简单谈谈favicon
Jun 10 PHP
PHP+MySQL存储数据常见中文乱码问题小结
Jun 13 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 PHP
4种Windows系统下Laravel框架的开发环境安装及部署方法详解
Apr 06 PHP
tp5.1 框架数据库常见操作详解【添加、删除、更新、查询】
May 26 PHP
PHP curl伪造IP地址和header信息代码实例
Apr 27 #PHP
JavaScript实现滚动栏效果的方法
Apr 27 #PHP
php curl 上传文件代码实例
Apr 27 #PHP
php把大写命名转换成下划线分割命名
Apr 27 #PHP
PHP加密解密字符串汇总
Apr 26 #PHP
php开发中的页面跳转方法总结
Apr 26 #PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
Apr 26 #PHP
You might like
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
PHP数组Key强制类型转换实现原理解析
2020/09/01 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
JavaScript 基础问答三
2008/12/03 Javascript
JS跨域代码片段
2012/08/30 Javascript
document.documentElement的一些使用技巧
2013/04/18 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
javascript数组常用方法汇总
2016/09/10 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
vue 使用ref 让父组件调用子组件的方法
2018/02/08 Javascript
vue+express 构建后台管理系统的示例代码
2018/07/19 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
从vue源码看props的用法
2019/01/09 Javascript
NVM安装nodejs的方法实用步骤
2019/01/16 NodeJs
详解vue 图片上传功能
2019/04/30 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
Python中__name__的使用实例
2015/04/14 Python
Python中第三方库Requests库的高级用法详解
2017/03/12 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
Atom Python 配置Python3 解释器的方法
2019/08/28 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
将pycharm配置为matlab或者spyder的用法说明
2020/06/08 Python
python修改微信和支付宝步数的示例代码
2020/10/12 Python
python爬取股票最新数据并用excel绘制树状图的示例
2021/03/01 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
毕业典礼演讲稿
2014/05/13 职场文书
个人房屋转让协议书范本
2014/10/26 职场文书
Python OpenCV快速入门教程
2021/04/17 Python