При взгляде на UserAgent.pm
он кажется неопределенным. По крайней мере, насколько я знаю, не определено, когда подпрограмма доберется до этой части, хотя я явно устанавливаю это с помощью $pua->agent()
. Это ошибка? Еще есть init_header()
, но когда я попробовал $pua->request->init_header()
, он тоже не установился.
#!/bin/perl
use LWP::Parallel::UserAgent;
my $ua_string =
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.81 Safari/537.36";
my $url = "http://www.example1.com";
my $url2 = "http://www.example2.com";
my $reqs = [
HTTP::Request->new( 'GET', $url ),
HTTP::Request->new( 'GET', $url2 )
];
my ( $req, $res );
my $pua = LWP::Parallel::UserAgent->new();
$pua->agent($ua_string);
foreach $req ( @$reqs ) {
$pua->register( $req );
}
my $entries = $pua->wait();
foreach ( keys %$entries ) {
$res = $entries->{$_}->response;
my $r = $res;
my @redirects;
while ( $r ) {
$res = $r;
$r = $r->previous;
push( @redirects, $res ) if $r;
}
}
print "The user-agent is: ".$pua->agent
сразу после установки, что вы получите? - person Schwern   schedule 26.12.2016The user-agent is:
или просто ничего не получаете? Если вы ничего не получите, то эта линия просто никогда не будет запущена. Опять же, поскольку вы не используетеstrict
иwarnings
, я подозреваю, что на самом деле у вас опечатка и вы передаетеundef
. Попробуйте напечатать$ua_string
. Также включите строгое и предупреждения. Или вы используете чью-то взломанную версию LWP::UserAgent (поскольку вы, скорее всего, редактируете модуль). Попробуйте сравнить его со свежей загрузкой. - person Schwern   schedule 26.12.2016