操作系统:macOS PHP:7.1.30 卷曲:7.65.0 openssl:1.0.2r
我一直在尝试使用php curl库调用https api,它在我的机器上返回403 http代码,但在我的同事的Mac上返回200。
我的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,它也可以工作。
有人来过这种情况吗?