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 相关文章推荐
提升PHP执行速度全攻略
Oct 09 PHP
深入了解php4(1)--回到未来
Oct 09 PHP
php日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
Sep 24 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
php中get_defined_constants函数用法实例分析
May 12 PHP
使用php实现从身份证中提取生日
May 09 PHP
比较完整的微信开发php代码
Aug 02 PHP
php实现数组纵向转横向并过滤重复值的方法分析
May 29 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
php 函数中静态变量使用的问题实例分析
Mar 05 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中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
PHP中foreach()用法汇总
2015/07/02 PHP
PHP 文件上传后端处理实用技巧方法
2017/01/06 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
Jquery.Form 异步提交表单的简单实例
2014/03/03 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
js实现固定显示区域内自动缩放图片的方法
2015/07/18 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
vue axios登录请求拦截器
2018/04/02 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
2018/11/05 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
Vue computed 计算属性代码实例
2020/04/22 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
Python中统计函数运行耗时的方法
2015/05/05 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
pandas Dataframe行列读取的实例
2018/06/08 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
Python使用Pygame绘制时钟
2020/11/29 Python
CSS3 选择器 伪类选择器介绍
2012/01/21 HTML / CSS
初探CSS3中的calc()功能
2015/07/14 HTML / CSS
天逸系统(武汉)有限公司Java笔试题
2015/12/29 面试题
人力资源经理的岗位职责范本
2014/02/28 职场文书
房屋租赁协议书
2014/10/18 职场文书
优秀教师工作总结2015
2015/07/22 职场文书
2015年校医个人工作总结
2015/07/24 职场文书
学习师德师风的心得体会(2篇)
2019/10/08 职场文书