为什么当CURLOPT_SSL_VERIFYHOST = 0时我的php curl无法正常工作?

时间:2019-12-31 06:52:59

标签: php curl

操作系统:macOS PHP:7.1.30 卷曲:7.65.0 openssl:1.0.2r

我一直在尝试使用php curl库调用https api,它在我的机器上返回403 http代码,但在我的同事的Mac上返回200。

this is the output html image

我的curl配置代码:

$curl = curl_init();
curl_setopt($curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($curl, CURLOPT_SSLVERSION, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLINFO_HEADER_OUT, true);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64)');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($curl);

上面的配置代码可在我的同事的Mac上使用。
但是,如果我将CURLOPT_SSL_VERIFYHOST设置为1或2,它也可以工作。
有人来过这种情况吗?

0 个答案:

没有答案
豫ICP备18024241号-1