我有一个脚本可以测试已编译的 HTTP 代理列表,以查看它们是否可以连接到指定的网站。如果它们连接,并返回正确的页面结果,它们将被添加到工作代理列表中;但是,即使我一次测试大约 30,000 个代理......它们都没有恢复工作。
然而,当我在代理检查器中检查它们的随机选择时,它们中的很大一部分会恢复工作。
http://puu.sh/3EJDo.png(连接结果图片)
即使我将代理类型指定为 HTTP,cURL 也永远无法连接到网页并返回网页内容。
注意:我正在设置用户代理。
如您所见,没有返回任何结果。如果检索到网页的内容,则应将其张贴在文本框中。
不要认为这真的有帮助,但这是我的 cURL 请求设置:
foreach($proxies as $proxy){
$proxy_split = explode(':',$proxy);
if(!in_array($proxy_split[1], $this->banned_ports)){
$checked[] = $proxy;
$this->curl->addSession('http://www.removed.com', array(
CURLOPT_PROXY => $proxy,
CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
CURLOPT_TIMEOUT => 60,
CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20100101 Firefox/14.0.1',
CURLOPT_RETURNTRANSFER => true
));
}
}
添加了 CURLOPT_FOLLOWLOCATION 选项以进行仔细检查,但它仍然无法返回任何页面内容/建立连接。