I tried using this and it's not working. I set a very small timeout hoping it'd catch everything (just for a test) and some still took over 20 seconds and didn't say it timed out.
use LWP::Simple qw(!head);
use LWP::UserAgent;
use HTML::LinkExtor;
use URI::URL;
my $ua = LWP::UserAgent->new;
my $p = HTML::LinkExtor->new;
$ua->timeout(3);
my $res = $ua->request(HTTP::Request->new(GET => $url),
sub {$p->parse($_[0])});
foreach(@url)
{
$url = "$_";
my $req = HTTP::Request->new(POST => "$url");
$req->content_type('application/x-www-form-urlencoded');
$req->content('query=libwww-perl&mode=dist');
my $res = $ua->request($req);
if ($res->status_line =~ /404/ || $res->status_line =~ /401/)
{
print "FAILED!";
}
elsif ($res->status_line =~ /408/)
{
print "TIMED OUT";
}
else
{
print "PASSED!!"
}
}
|