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 相关文章推荐
关于url地址传参数时字符串有回车造成页面脚本赋值失败的解决方法
Jun 28 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
thinkphp四种url访问方式详解
Nov 28 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
php+xml实现在线英文词典查询的方法
Jan 23 PHP
php使用cookie保存用户登录的用户名实例
Jan 26 PHP
php有效防止同一用户多次登录
Nov 19 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
Thinkphp框架 表单自动验证登录注册 ajax自动验证登录注册
Dec 27 PHP
php实现的二分查找算法示例
Jun 20 PHP
PHP中rename()函数的妙用讲解
Feb 28 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一个找二层目录的小东东
2012/08/02 PHP
解析php利用正则表达式解决采集内容排版的问题
2013/06/20 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
2015/05/12 PHP
php使用GD实现颜色渐变实例
2015/06/02 PHP
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
js中关于new Object时传参的一些细节分析
2011/03/13 Javascript
广泛收集的jQuery拖放插件集合
2012/04/09 Javascript
通过正则表达式实现表单验证是否为中文
2014/02/18 Javascript
js 判断浏览器使用的语言示例代码
2014/03/22 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
Node.js开发第三方微信公众平台
2017/06/05 Javascript
浅谈JS中的反柯里化( uncurrying)
2017/08/17 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
vue 设置 input 为不可以编辑的实现方法
2019/09/19 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
python登录豆瓣并发帖的方法
2015/07/08 Python
python字符类型的一些方法小结
2016/05/16 Python
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
python pandas.DataFrame.loc函数使用详解
2020/03/26 Python
如何用python处理excel表格
2020/06/09 Python
python 利用openpyxl读取Excel表格中指定的行或列教程
2021/02/06 Python
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
ORACLE第二个十问
2013/12/14 面试题
最新的互联网创业计划书
2014/01/10 职场文书
爱护公物演讲稿
2014/09/09 职场文书
电力培训学习心得体会
2016/01/11 职场文书
2019年工作总结范文
2019/05/21 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
MySQL高级进阶sql语句总结大全
2022/03/16 MySQL
Android在Sqlite3中的应用及多线程使用数据库的建议
2022/04/24 Java/Android