今天用yii框架,請求java接口,始終返回false.php
使用curl_error()方法打印出Peer’s Certificate issuer is not recognized。java
翻譯出來的意思是ssl證書未認證經過,證書問題?不細揪,經過結果判斷,就是證書的問題。json
不過畢竟是第三方的接口,要解決須要聯繫運維,查看證書,還要從新設置證書路徑,很麻煩,很差處理。app
附上要設置的(未驗證),供參考框架
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true); curl_setopt($curl,CURLOPT_CAINFO,dirname(__FILE__).'/cacert.pem');
關掉curl對於證書的驗證。不過curl類的封裝是統一的,爲了避免影響其餘的代碼。運維
php curl關掉ssl驗證: yii
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);//原生 $curl->setOption(CURLOPT_SSL_VERIFYPEER=>0);//YII2
在此過程當中還遇到了,對方接口不識別返回的json數據curl
解決辦法,設置header測試
$curl->setHeaders(['Content-Type' => 'application/json']);
結果,再次測試,接口通了。url