I wrote a little script that connectts to an URL, posts some xml data and waits for response, so far so good, I need to set timeout but I think I do it wrong because I get this error message:
Can’t locate object method “timeout” via package “HTTP::Headers” at
/usr/share/perl5/HTTP/Message.pm line 644.
this is my little code:
#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
my $msg =<< "EOT";
<?xml version="1.0" encoding="utf-8"?>
EOT
my $uri = "http://www.myhostexample.com/script";
my $request = HTTP::Request->new(POST => $uri);
$request->content_type("text/xml");
$request->content($msg);
my $response = LWP::UserAgent->new->request($request);
$response->timeout(10);
#print $response->content . "\n"; # debug
if ($response->content =~ /<?xml/s) {
print "OK!\n";
}
else {
print "BAD!\n";
}
You need to set timeout for LWP::UserAgent.