今天用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