2012-10-22 8 views
1

URL에 연결하여 일부 XML 데이터를 게시하고 응답을 기다리는 작은 스크립트를 작성했습니다. 지금까지는 시간 제한을 설정해야하지만 잘못했다고 생각합니다.HTTP :: 헤더가있는 LWP :: Useragent 시간 초과

/usr/share/perl5/HTTP/Message.pm 라인에서 객체 메소드 패키지를 통해 "타임 아웃" "HTTP : 헤더"를 찾을 수 없습니다 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"; 
} 

답변

1

LWP :: UserAgent에 대해 시간 초과를 설정해야합니다.

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

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

네, 맞습니다! 이제 완벽하게 작동합니다. 나는 "HTTP :: Headers"에서 "LWP :: UserAgent"가 아닌 타임 아웃을 설정했습니다. 감사! – bsteo

관련 문제