【发布时间】:2014-04-11 14:41:00
【问题描述】:
我遇到了以下问题:有一个 HTTPS 网站,我需要通过代理连接到它。这是我的 cURL setopts:
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, '100.100.100.100:8080');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_error($ch);
输出连接到######.com:8080 失败;没有错误
其中 100.100.100.100:8080 是有效 HTTPS 代理的占位符。这行不通。如何使 cURL 通过代理连接到 HTTPS 网站?我真的很想要一个不仅可以通过 HTTPS 代理工作的灵魂。另外,我更喜欢使用 cURL 的方法,但如果有更好的方法,不使用 cURL,我可以改用它。
【问题讨论】:
-
代理是否需要认证?
-
你必须添加
curl_error()的输出 -
@SquareCat:代理不需要身份验证。
-
@hindmost:它说连接到 ######.com:8080 失败;没有错误
-
'输出连接到 ######.com:8080 失败;没有错误';这是否意味着您的目标网址也包含“8080”? (我说的不是代理 URL,而是 $url 变量)