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开发者的10个技巧
Feb 25 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
Apr 25 PHP
详解PHP的Yii框架中组件行为的属性注入和方法注入
Mar 18 PHP
PHP 5.6.11中CURL模块问题的解决方法
Aug 08 PHP
PHP实现大数(浮点数)取余的方法
Feb 18 PHP
php简单处理XML数据的方法示例
May 19 PHP
PHP实现微信图片上传到服务器的方法示例
Jun 29 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
PHP中递归的实现实例详解
Nov 14 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
php实现简单四则运算器
Nov 29 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读取csv数据保存到数组的方法
2015/01/03 PHP
搭建基于Docker的PHP开发环境的详细教程
2015/07/01 PHP
php结合mysql与mysqli扩展处理事务的方法
2016/06/29 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
JQUERY 对象与DOM对象之两者相互间的转换
2009/04/27 Javascript
js使下拉列表框可编辑不止是选择
2013/12/12 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
js/jquery解析json和数组格式的方法详解
2014/01/09 Javascript
JS+CSS实现的简单折叠展开多级菜单效果
2015/09/12 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
2020/07/19 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Python实现字典的key和values的交换
2015/08/04 Python
Python中字典映射类型的学习教程
2015/08/20 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
python sitk.show()与imageJ结合使用常见的问题
2020/04/20 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
英语自荐信范文
2013/12/11 职场文书
毕业生个人投资创业计划书
2014/01/04 职场文书
社区中秋节活动方案
2014/01/29 职场文书
群众路线教育党课主持词
2014/04/01 职场文书
军训口号
2014/06/13 职场文书
党员示范岗材料
2014/12/19 职场文书
职场领导同事生日简短祝福语
2019/08/06 职场文书
用Python创建简易网站图文教程
2021/06/11 Python
Go语言编译原理之变量捕获
2022/08/05 Golang