在curl PHP脚本中,我们通过curl_setopt CURLOPT_HTTPHEADER
选项添加标头。它适用于像search.yahoo.com这样的HTTP请求,但我尝试使用它不起作用的HTTPS请求。
我通过将CURLOPT_SSL_VERIFYPEER
选项设置为false来禁用SSL对等验证。有没有办法实现它?
答案 0 :(得分:0)
这是一个快速的解决方案 添加curl_setopt($ ch,CURLOPT_SSL_VERIFYPEER,false);在curl_exec()
之前这里是$ ch curl_init()对象;
执行refer here替代解决方案
答案 1 :(得分:0)
首先,您需要使用浏览器下载CA证书并将其另存为X.509。这将使您能够接受CA颁发的所有证书。然后使用以下CURL选项:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, "path_to_CA_certificate.crt");
CURLOPT_VERIFYHOST有不同的选项,您可以先尝试0以便进行CN检查,如果有效,请尝试使用2.
希望它有所帮助。