Es scheint bei UserAgent.pm
undefiniert zu sein. Zumindest, soweit ich weiß, ist es undefiniert, wenn die Routine zu diesem Teil kommt, obwohl ich es explizit mit $pua->agent()
setze. Ist das ein Fehler? Es gibt auch init_header()
, aber als ich versuchte $pua->request->init_header()
, es auch nicht gesetzt.Warum wird agent() nicht gesetzt, wenn LWP :: Parallel :: UserAgent verwendet wird?
#!/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;
}
}
Dieser Code funktioniert gut. Können Sie die Fehlermeldung, die Sie erhalten haben, posten? Auch, welche Versionen von LWP und LWP :: Parallel :: UserAgent Sie verwenden. – Schwern
Neueste Version. Es legt die User-Agent-Zeichenfolge für mich nicht fest. Es läuft gut, aber setzt den Wert nicht. –
Wenn Sie einen 'print'-Button anheften Der User-Agent ist:". $ Pua-> agent "gleich nachdem Sie es gesetzt haben, bekommen Sie was? – Schwern