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