Created
June 30, 2011 11:31
-
-
Save hinnerk-a/1056046 to your computer and use it in GitHub Desktop.
Set a custom HTTP User-Agent in Perl with WWW::Mechanize
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use WWW::Mechanize; | |
my $initial_user_agent = 'Mozilla/5.0 (Linux; U; Android 2.2; de-de; HTC Desire HD 1.18.161.2 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1'; | |
my @user_agents = ( | |
'Mozilla/5.0 (Windows; U; Windows NT 6.1; nl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13', | |
'Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7D11', | |
'Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5', | |
); | |
# Set an initial custom header with the contructor | |
my $mech = WWW::Mechanize->new( agent => $initial_user_agent ); | |
# get a page and print current URI (WWW::Mechanize follows redirections) | |
$mech->get( 'http://www.facebook.com' ); | |
print sprintf( "User-Agent %s\n redirects to: %s\n\n", $initial_user_agent, $mech->uri() ); | |
foreach my $http_user_agent (@user_agents) { | |
# dynamically set custom HTTP User-agents | |
$mech->add_header( 'User-agent' => $http_user_agent); | |
$mech->get( 'http://www.facebook.com' ); | |
print sprintf( "User-Agent %s\n redirects to: %s\n\n", $http_user_agent, $mech->uri() ); | |
} | |
# $ perl ./mechanize-user-agent.pl | |
# User-Agent Mozilla/5.0 (Linux; U; Android 2.2; de-de; HTC Desire HD 1.18.161.2 Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 | |
# redirects to: http://m.facebook.com/?w2m&refsrc=http%3A%2F%2Fwww.facebook.com%2F&_rdr | |
# | |
# User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.1; nl; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 | |
# redirects to: http://www.facebook.com | |
# | |
# User-Agent Mozilla/5.0 (iPad; U; CPU iPhone OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7D11 | |
# redirects to: http://m.facebook.com/?w2m&refsrc=http%3A%2F%2Fwww.facebook.com%2F&_rdr | |
# | |
# User-Agent Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_3_3 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8J2 Safari/6533.18.5 | |
# redirects to: http://m.facebook.com/?w2m&refsrc=http%3A%2F%2Fwww.facebook.com%2F&_rdr |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment