php curl 獲取https請求的2種方法
今天一個(gè)同事反映,使用curl發(fā)起https請求的時(shí)候報(bào)錯(cuò):“SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed”
很明顯,驗(yàn)證證書的時(shí)候出現(xiàn)了問題。
使用curl如果想發(fā)起的https請求正常的話有2種做法:
方法一、設(shè)定為不驗(yàn)證證書和host。
在執(zhí)行curl_exec()之前。設(shè)置option
$ch = curl_init();
......
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
方法二、設(shè)定一個(gè)正確的證書。
本地ssl判別證書太舊,導(dǎo)致鏈接報(bào)錯(cuò)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');
大功告成
(本人驗(yàn)證未通過。。。報(bào)錯(cuò)信息為: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獲取http請求的頭信息實(shí)現(xiàn)步驟
- php之curl實(shí)現(xiàn)http與https請求的方法
- PHP實(shí)現(xiàn)取得HTTP請求的原文
- php中調(diào)用其他系統(tǒng)http接口的方法說明
- PHP 使用header函數(shù)設(shè)置HTTP頭的示例解析 表頭
- php抓取https的內(nèi)容的代碼
- 在PHP中實(shí)現(xiàn)使用Guzzle執(zhí)行POST和GET請求
- 在Laravel中使用GuzzleHttp調(diào)用第三方服務(wù)的API接口代碼
- 使用Zttp簡化Guzzle 調(diào)用
- PHP的HTTP客戶端Guzzle簡單使用方法分析
相關(guān)文章
php實(shí)現(xiàn)利用phpexcel導(dǎo)出數(shù)據(jù)
以下是對php中利用phpexcel導(dǎo)出數(shù)據(jù)的實(shí)現(xiàn)代碼進(jìn)行了介紹,需要的朋友可以過來參考下2013-08-08PHP進(jìn)階學(xué)習(xí)之反射基本概念與用法分析
這篇文章主要介紹了PHP進(jìn)階學(xué)習(xí)之反射基本概念與用法,結(jié)合實(shí)例形式分析了php反射的概念、原理基本用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-06-06ECSHOP完美解決Deprecated: preg_replace()報(bào)錯(cuò)的問題
下面小編就為大家?guī)硪黄狤CSHOP完美解決Deprecated: preg_replace()報(bào)錯(cuò)的問題。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05解決nginx不支持thinkphp中pathinfo的問題
這篇文章主要介紹如何解決當(dāng)Nginx不支持pathinfo問題時(shí)該如何解決,需要的朋友可以參考下2015-07-07Laravel 5.4重新登錄實(shí)現(xiàn)跳轉(zhuǎn)到登錄前頁面的原理和方法
在日常開發(fā)中,我們經(jīng)常遇到一個(gè)需求,就是用戶登陸后存在過期時(shí)間,超時(shí)用戶需重新登錄,下面這篇文章主要給大家介紹了關(guān)于Laravel 5.4重新登錄實(shí)現(xiàn)跳轉(zhuǎn)到登錄前頁面的原理和方法,需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07