0

我们无法使用 php 和 curl 通过代理发出 https 请求。我们尝试从 PHP 向https://google.com发出一个简单的 curl 请求,我们收到消息“无法处理请求。代理或网关服务器收到无效响应”。对 http://google.com 的相同请求有效美好的。我们还能够从 curl 命令行成功调用任何 https url。下面是我们的 curl 请求。代理不需要登录,我们在 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);
4

2 回答 2

0

尝试改变:

curl_setopt($handle, CURLOPT_PROXYPORT, 80);

至:

curl_setopt($handle, CURLOPT_PROXYPORT, 443);

由于https流量在端口 443 上。

于 2013-06-29T09:28:22.490 回答
0

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);

这个对我有用 。

于 2014-01-02T04:28:37.167 回答