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


How to add the custom headers to https requesting curl PHP script?

在curl PHP脚本中,我们通过curl_setopt CURLOPT_HTTPHEADER选项添加标题。它可以很好地与HTTP请求,如search.yahoo.com,但我尝试了它与HTTPS请求,它不工作。

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

这里有一个快速的解决方案add curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);之前curl_exec ()

$ch curl_init() object;

请参考此处查看替代解决方案

首先,您需要使用浏览器下载CA证书并将其保存为X.509。这将使您能够接受CA颁发的所有证书。

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。

希望能有所帮助。