如何检查302 http响应

时间:2013-02-26 09:19:18

标签: perl

我正在尝试检查重定向页面的标题,并获得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;

2 个答案:

答案 0 :(得分:7)

初始化$ ua后,将其requests_redirectable属性设置为undef:

$ua->requests_redirectable(undef);

这样LWP :: UserAgent将不会遵循重定向,而是在第一次请求后停止。

然后yoy可以使用:

获取代码(“302”,“301”等)
$res->code()

这是official docs for LWP::UserAgent

答案 1 :(得分:4)

$response->previous()将为您提供链中的先前回复。

或者如果要禁用重定向,请将requests_redirectable => []传递给LWP :: UserAgent的构造函数。