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 读取文件内容代码(txt,js等)
Dec 06 PHP
了解Joomla 这款来自国外的php网站管理系统
Mar 11 PHP
PHP简洁函数小结
Aug 12 PHP
对象失去焦点时自己动提交数据的实现代码
Nov 06 PHP
php无限分类且支持输出树状图的详细介绍
Jun 19 PHP
php创建sprite
Feb 11 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
Yii2框架dropDownList下拉菜单用法实例分析
Jul 18 PHP
PHP中call_user_func_array回调函数的用法示例
Nov 26 PHP
php使用PDO获取结果集的方法
Feb 16 PHP
php实现JWT(json web token)鉴权实例详解
Nov 05 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 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加密解密函数代码
2013/06/19 PHP
非常好用的Zend Framework分页类
2014/06/25 PHP
php中array_unshift()修改数组key注意事项分析
2016/05/16 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
很全的显示阴历(农历)日期的js代码
2009/01/01 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
js Html结构转字符串形式显示代码
2011/11/15 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
2016/12/05 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
详解js中let与var声明变量的区别
2020/04/05 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
Python ljust rjust center输出
2008/09/06 Python
python显示生日是星期几的方法
2015/05/27 Python
python实现爬虫下载美女图片
2015/07/14 Python
实例讲解Python中SocketServer模块处理网络请求的用法
2016/06/28 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
在Django中输出matplotlib生成的图片方法
2018/05/24 Python
python实现在遍历列表时,直接对dict元素增加字段的方法
2019/01/15 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
解决Python spyder显示不全df列和行的问题
2020/04/20 Python
解决PyCharm不在run输出运行结果而不是再Console里输出的问题
2020/09/21 Python
幼儿园开学家长寄语
2014/01/19 职场文书
学习党代会心得体会
2014/09/05 职场文书
红领巾广播站广播稿
2014/10/19 职场文书
2014年大班保育员工作总结
2014/12/02 职场文书
Spring Bean的实例化之属性注入源码剖析过程
2021/06/13 Java/Android