我正在尝试检查重定向页面的标题,并获取 302 状态,但使用我的代码,我得到了转发页面的 200 OK 状态。我应该怎么做才能获得重定向页面 302 状态。我的代码:
use LWP::UserAgent;
my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new('GET','http://host.com');
my $res = $ua->request($req);
print $res->status_line;
我正在尝试检查重定向页面的标题,并获取 302 状态,但使用我的代码,我得到了转发页面的 200 OK 状态。我应该怎么做才能获得重定向页面 302 状态。我的代码:
use LWP::UserAgent;
my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new('GET','http://host.com');
my $res = $ua->request($req);
print $res->status_line;
初始化 $ua 后,将其 requests_redirectable 属性设置为 undef:
$ua->requests_redirectable(undef);
这样 LWP::UserAgent 将不会跟随重定向,而是在第一次请求后停止。
然后你可以使用以下方法获取代码(“302”、“301”等):
$res->code()
$response->previous()
将为您提供链中的先前响应。
或者,如果您想禁用重定向,请传递requests_redirectable => []
给 LWP::UserAgent 的构造函数。