如何将自定义标头添加到https请求curl PHP脚本?

时间:2014-07-16 07:01:29

标签: php curl https

在curl PHP脚本中,我们通过curl_setopt CURLOPT_HTTPHEADER选项添加标头。它适用于像search.yahoo.com这样的HTTP请求,但我尝试使用它不起作用的HTTPS请求。

我通过将CURLOPT_SSL_VERIFYPEER选项设置为false来禁用SSL对等验证。有没有办法实现它?

2 个答案:

答案 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.

希望它有所帮助。