php使用curl发送https请求(验证书、host方式)
要给xx健康写接口和对接接口,xx要求https请求……已经能在度娘找到很多如何让curl发送https的帖子了,但是我找着的全都是说要关掉VERIFYPEER和HOST的(也存在我没找着的可能),为什么不建议我们直接把这页代码删掉更简便呢?这也是为啥写这篇的原因(在写的时候还没有进行测试,因为对方什么时候给我们联调测试还不清楚)
1,打开需要发送https请求的网站
我使用的是ubuntu下的chromium,使用火狐和chrome步骤相似。点击网站左边的锁(什么?你没有锁?那你这网站都不是https怎么发https)然后再点击证书(ubuntu下的qq截图没有编辑器功能 搞不出来箭头)
点击证书层次结构,再点导出
导入文件夹 以base64证书链的方式导出证书,再在curl里面写上验证peer和host就欧克
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, __DIR__."/Builtin-Object-Token_DigiCert-Global-Root-CA.crt");
因为还没有测试,如果出现问题随时回来改……如果你遇到错误可以留言