1

URL に接続し、いくつかの xml データを投稿して応答を待つ小さなスクリプトを作成しました。これまでのところ、タイムアウトを設定する必要がありますが、次のエラー メッセージが表示されるため、間違っていると思います。

/usr/share/perl5/HTTP/Message.pm の 644 行目で、パッケージ "HTTP::Headers" を介してオブジェクト メソッド "timeout" を見つけることができません。

これは私の小さなコードです:

#!/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";
}
4

1 に答える 1

2

LWP::UserAgent のタイムアウトを設定する必要があります。

...
my $ua = LWP::UserAgent->new();
$ua->timeout(10);

my $response = $ua->request($request);
...
于 2012-10-22T12:16:02.270 に答える