无法使用、php和curl通过代理发出https请求

无法使用、php和curl通过代理发出https请求,php,curl,https,proxy,Php,Curl,Https,Proxy,我们无法使用php和curl通过代理发出https请求。我们尝试从PHP向发出一个简单的curl请求,得到消息“请求无法处理。代理服务器或网关服务器接收到无效响应”。向http:/google.com发出的相同请求也可以正常工作。我们还能够从curl命令行成功调用任何https url。下面是我们的要求。代理不需要登录,我们在PHP中安装了openssl。任何答复都将不胜感激 $url='https://google.com'; $handle = curl_init(); curl_setop

我们无法使用php和curl通过代理发出https请求。我们尝试从PHP向发出一个简单的curl请求,得到消息“请求无法处理。代理服务器或网关服务器接收到无效响应”。向http:/google.com发出的相同请求也可以正常工作。我们还能够从curl命令行成功调用任何https url。下面是我们的要求。代理不需要登录,我们在PHP中安装了openssl。任何答复都将不胜感激

$url='https://google.com';
$handle = curl_init();
curl_setopt($handle, CURLOPT_URL, $url);
curl_setopt($handle, CURLOPT_PROXY, 'some proxy');
curl_setopt($handle, CURLOPT_PROXYPORT, 80);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handle, CURLOPT_VERBOSE, TRUE);
$data = curl_exec($handle);
尝试更改:

curl_setopt($handle, CURLOPT_PROXYPORT, 80);
致:

因为通信量在端口443上。

curl\u setopt($curl,CURLOPT\u SSL\u VERIFYPEER,0)


它适合我。

您的代理服务器需要凭据吗?不,它不需要任何凭据。好的。。然后您应该将
CURLOPT\u FOLLOWLOCATION
设置为
true
。我认为您也缺少
CURLOPT\u HTTPPROXYTUNNEL
设置为
true
。不起作用,同样的错误消息。在curl_setopt($handle,CURLOPT_FOLLOWLOCATION,TRUE)下面添加了它;通过将端口更改为443进行测试,得到相同的502错误。无法处理请求。代理服务器或网关服务器接收到无效响应。
curl_setopt($handle, CURLOPT_PROXYPORT, 443);