如何将代理列表添加到Perl?

时间:2015-10-06 00:36:29

标签: perl proxy

所以我的问题有点难,但我试一试:

我的代码是一个脚本,使用此网站从反向IP地址“http://www.yougetsignal.com/tools/web-sites-on-web-server/

中提取域名

问题在于,每当我扫描到12时尝试我都无法获得结果,因为当我进行12次搜索时网站会阻止我的IP。

所以我试图找到一种添加代理的方法,但每当我再次扫描时我需要更改代理。

如何添加代理列表并限制每个代理12个搜索?

这是我的代码:http://pastebin.com/EY3cy5Vs

#!/usr/bin/perl

use HTTP::Request;
use LWP::UserAgent;

if($^O =~ /Win/){
    system("cls");
    system("color a");
    system("title Get Sites by : ip");
}else{
    system("clear");
}

print q{

                       *--------------------*
                       *       Get          *
                       *      Sites         *
                       *  result in log.txt *
                       *--------------------*
};

print "\nPut Host or IP (host without http://) :";

my $host = <>;
chomp($host);

my $ua = LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.1) Gecko/20090624 Firefox/3.5');
$ua->env_proxy;
#proxy
my $response = $ua->get("127.0.0.1");
#proxy
my $zz = $ua->post('http://domains.yougetsignal.com/domains.php',
    {
        remoteAddress => $host,
    }
);

my $resulta = $zz->content;
while ($resulta =~ m/\[([^\]]*)\]/g)
{
    $zeb = $1;
    $zeb =~ m/\"(.*?)\", \"?\"/g;
    open(a, ">>log.txt");
    print a "http://$1/\n";
    close(a);
}

print "\nresult in log.txt";

1 个答案:

答案 0 :(得分:1)

  

如何添加代理列表并限制每个代理12个搜索?

您无法使用环境添加列表(例如env_proxy),但您可以随时更改代理

  $ua->proxy(['http','https'],'http://proxy-ip:port');

此设置适用于使用$ua完成的所有请求,直到您再次更改设置为止。