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 分页类实现代码
Dec 03 PHP
php strstr查找字符串中是否包含某些字符的查找函数
Jun 03 PHP
php开发过程中关于继承的使用方法分享
Jun 17 PHP
PHP __autoload函数(自动载入类文件)的使用方法
Feb 04 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
模板引擎smarty工作原理以及使用示例
May 25 PHP
PHP中Memcache操作类及用法实例
Dec 12 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
thinkPHP5分页功能实现方法分析
Oct 25 PHP
PDO::beginTransaction讲解
Jan 27 PHP
Yii框架参数配置文件params用法实例分析
Sep 11 PHP
TP5多入口设置实例讲解
Dec 15 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
使用sockets:从新闻组中获取文章(三)
2006/10/09 PHP
php 上传文件类型判断函数(避免上传漏洞 )
2010/06/08 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
html数组字符串拼接的最快方法
2009/09/16 Javascript
jquery自动完成插件(autocomplete)应用之PHP版
2009/12/15 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
详解node.js搭建代理服务器请求数据
2017/04/08 Javascript
如何去除vue项目中的#及其ie9兼容性
2018/01/11 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
自定义javascript验证框架示例【附源码下载】
2019/05/31 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
Node绑定全局TraceID的实现方法
2019/11/14 Javascript
vue打包npm run build时候界面报错的解决
2020/08/13 Javascript
Node.JS如何实现JWT原理
2020/09/18 Javascript
python中map、any、all函数用法分析
2015/04/21 Python
python连接字符串的方法小结
2015/07/13 Python
python中redis的安装和使用
2016/12/04 Python
Django自定义认证方式用法示例
2017/06/23 Python
Python 支付整合开发包的实现
2019/01/23 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
python设计微型小说网站(基于Django+Bootstrap框架)
2019/07/08 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
师范毕业生个人求职信
2013/12/09 职场文书
党员个人自我剖析材料
2014/10/08 职场文书
小学教师岗位职责
2015/04/02 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
Nginx 反向代理解决跨域问题多种情况分析
2022/01/18 Servers