如果我這樣做LWP ::用戶代理 - HTTP請求::
#!/usr/local/bin/perl
use warnings;
use 5.014;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new();
my $res = $ua->get('http://www.perl.org');
我可以叫HTTP::Response
方法,這樣
say $res->code;
是它在某種程度上可以調用從$res
對象HTTP::Request
方法或需要明確創建HTTP::Request
對象嗎?
my $ua = LWP::UserAgent->new();
my $method;
my $res = $ua->get('http://www.perl.org');
$ua->add_handler(request_prepare => sub { my($request, $ua, $h) = @_; $method = $request->method; }, );
say $method; # Use of uninitialized value $method in say
爲什麼我添加的例子並不像我想象的工作(打印請求方法)? –
你必須在任何'get'或'post'方法之前調用'add_handler'。在你的例子中,處理程序在'get'之後添加,因此不被調用。 – vstm