YII2 使用curl请求,返回false
2024-09-29 22:12:14
一. 起因:
今天用yii框架,请求java接口,始终返回false.
二. 分析历程:
使用curl_error()方法打印出Peer’s Certificate issuer is not recognized。
翻译出来的意思是ssl证书未认证通过,证书问题?不细揪,通过结果判断,就是证书的问题。
不过毕竟是第三方的接口,要解决需要联系运维,查看证书,还要重新设置证书路径,很麻烦,不好处理。
附上要设置的(未验证),供参考
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验证:
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);//原生 $curl->setOption(CURLOPT_SSL_VERIFYPEER=>0);//YII2
在此过程中还遇到了,对方接口不识别返回的json数据
解决办法,设置header
$curl->setHeaders(['Content-Type' => 'application/json']);
结果,再次测试,接口通了。
最新文章
- OpenCV学习笔记(一)——OpenCV安装
- css选择器中:first-child与:first-of-type的区别
- SQL初级
- background-clip
- non-manifold Mesh(非流形网格)
- ECSHOP在线手册布局参考图--积分商城 exchange_list.dwt
- 多线程归并排序(摘自githhub)
- Servlet3.0新特性使用详解
- 通过VBA,当在EXCEL单元格中输入任意的日期格式时,都能自动转换为指定的标准格式的日期值
- 【HTML初识】
- VueI18n插件的简单应用于国际化
- JS中const、var 和let的区别
- NOIWC2018游记
- Hype-v 共享文件办法
- 初识服务器和Linux
- 防止enter提交表单
- 最近对latin-1这个字符集产生了不少好感
- .NET拾忆:FileSystemWatcher 文件监控
- webGL之three.js入门4--ThreeJS Editor入门篇
- 【SVN】SVN的trunk、branches、tag的使用以及分支的概念