Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl LWP::Useragent与HTTP::标头超时_Perl - Fatal编程技术网

Perl LWP::Useragent与HTTP::标头超时

Perl LWP::Useragent与HTTP::标头超时,perl,Perl,我写了一个小脚本,连接到一个URL,发布一些xml数据并等待响应,到目前为止还不错,我需要设置超时,但我认为我做得不对,因为我收到了以下错误消息: 无法通过位于的包“HTTP::Headers”找到对象方法“timeout” /usr/share/perl5/HTTP/Message.pm第644行 这是我的小代码: #!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; my $msg =<< "EOT"; &

我写了一个小脚本,连接到一个URL,发布一些xml数据并等待响应,到目前为止还不错,我需要设置超时,但我认为我做得不对,因为我收到了以下错误消息:

无法通过位于的包“HTTP::Headers”找到对象方法“timeout” /usr/share/perl5/HTTP/Message.pm第644行

这是我的小代码:

#!/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";
}
#/usr/bin/perl
严格使用;
使用警告;
使用LWP::UserAgent;
我的$msg=new(POST=>$uri);
$request->content_type(“text/xml”);
$request->content($msg);
my$response=LWP::UserAgent->new->request($request);
$response->timeout(10);
#打印$response->content。“\n”;#调试

如果($response->content=~/,则需要为LWP::UserAgent设置超时

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

my $response = $ua->request($request);
...

是的,你是对的!现在工作完美无瑕。我在“HTTP::Headers”中设置了超时,而不是我应该设置的“LWP::UserAgent”。谢谢!