Skip to content

Instantly share code, notes, and snippets.

@yongbin
Created May 13, 2013 06:12
Show Gist options
  • Select an option

  • Save yongbin/5566450 to your computer and use it in GitHub Desktop.

Select an option

Save yongbin/5566450 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl
use strict;
use warnings;
use Data::Printer;
use 5.010;
use LWP::Simple qw/$ua/;
my $url = shift;
my @list = proxy();
foreach ( 1 .. 100 ) {
$ua->proxy( 'http', $list[ rand @list ] );
p $ua->head($url);
#say $ua->get($url);
}
sub proxy {
return (
qw|
http://202.171.253.108:84
http://86.96.229.68:8088
http://178.18.17.208:7808
http://65.49.2.16:3128
http://86.96.229.123:8088
http://123.129.214.155:80
http://116.112.66.102:808
http://202.171.253.108:85
http://172.245.20.109:7808
http://199.15.248.179:7808
http://202.171.253.108:81
http://178.18.17.211:7808
http://199.30.136.117:3128
http://199.30.136.116:7808
http://61.187.186.150:81
http://204.12.235.10:8089
http://199.15.248.179:3128
http://202.171.253.108:83
http://118.140.81.50:3128
http://192.30.34.34:3128
http://202.171.253.98:80
http://221.2.241.125:8087
http://192.227.137.47:3128
http://86.96.229.123:80
http://86.96.229.68:8888
http://202.171.253.108:82
http://67.215.228.129:3128
http://201.247.103.161:8080
http://178.18.17.208:8089
http://86.96.229.123:8888
http://173.213.113.111:3128
http://173.213.113.111:7808
http://192.227.137.47:7808
http://192.30.34.34:8089
http://86.96.229.68:80
http://173.213.113.111:8089
http://202.171.253.108:80
http://123.157.208.8:9090
http://192.227.137.47:8089
http://199.30.136.117:7808
http://178.18.17.211:3128
http://178.18.17.208:3128
http://192.30.34.34:7808
http://222.73.233.146:80
http://116.228.55.184:80
http://74.221.211.12:8089
http://115.182.10.144:80
http://67.215.228.129:7808
|
);
}
@yongbin
Copy link
Author

yongbin commented May 13, 2013

Result

HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.1",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.0",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.0",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.0",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.1",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.0",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.1",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.0",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.1",
        _rc         403,
        _request    HTTP::Request
    }
}
HTTP::Response  {
    Parents       HTTP::Message
    public methods (22) : as_string, base, clone, code, current_age, dump, error_as_HTML, filename, fresh_until, freshness_lifetime, is_error, is_fresh, is_info, is_redirect, is_success, message, new, parse, previous, redirects, request, status_line
    private methods (0)
    internals: {
        _content    "",
        _headers    HTTP::Headers,
        _msg        "Forbidden",
        _protocol   "HTTP/1.1",
        _rc         403,
        _request    HTTP::Request
    }
}

@yongbin
Copy link
Author

yongbin commented May 13, 2013

Serverside log

178.18.17.208 - - [13/May/2013:15:11:59 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"178.18.17.211 - - [13/May/2013:15:11:59 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
192.30.34.34 - - [13/May/2013:15:12:00 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
74.221.211.12 - - [13/May/2013:15:12:03 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"192.30.34.34 - - [13/May/2013:15:12:04 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"67.215.228.129 - - [13/May/2013:15:12:04 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
118.140.81.50 - - [13/May/2013:15:12:06 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
192.227.137.47 - - [13/May/2013:15:12:07 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
222.73.233.146 - - [13/May/2013:15:12:09 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
123.129.214.155 - - [13/May/2013:15:12:10 +0900] "HEAD / HTTP/1.0" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
118.140.81.50 - - [13/May/2013:15:12:11 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
86.96.229.68 - - [13/May/2013:15:12:12 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
192.30.34.34 - - [13/May/2013:15:12:13 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"65.49.2.16 - - [13/May/2013:15:12:15 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
173.213.113.111 - - [13/May/2013:15:12:16 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
86.96.229.68 - - [13/May/2013:15:12:19 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
192.30.34.34 - - [13/May/2013:15:12:21 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
204.12.235.10 - - [13/May/2013:15:12:22 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
86.96.229.68 - - [13/May/2013:15:12:23 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
192.227.137.47 - - [13/May/2013:15:12:24 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"204.12.235.10 - - [13/May/2013:15:12:25 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
199.15.248.179 - - [13/May/2013:15:12:27 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
123.129.214.155 - - [13/May/2013:15:12:28 +0900] "HEAD / HTTP/1.0" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
86.96.229.68 - - [13/May/2013:15:12:29 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
116.228.55.184 - - [13/May/2013:15:12:36 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
202.171.253.104 - - [13/May/2013:15:12:37 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
115.182.10.144 - - [13/May/2013:15:12:38 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
86.96.229.68 - - [13/May/2013:15:12:39 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
86.96.229.68 - - [13/May/2013:15:12:40 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"123.129.214.155 - - [13/May/2013:15:12:41 +0900] "HEAD / HTTP/1.0" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
86.96.229.68 - - [13/May/2013:15:12:41 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
199.30.136.117 - - [13/May/2013:15:12:42 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
192.227.137.47 - - [13/May/2013:15:12:44 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
178.18.17.208 - - [13/May/2013:15:12:45 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
67.215.228.129 - - [13/May/2013:15:12:47 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"
199.30.136.117 - - [13/May/2013:15:12:48 +0900] "HEAD / HTTP/1.1" 403 - "-" "LWP::Simple/6.00 libwww-perl/6.05"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment