3

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

2 回答 2

7

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

$ua->requests_redirectable(undef);

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

然后你可以使用以下方法获取代码(“302”、“301”等):

$res->code()

这是LWP::UserAgent 的官方文档

于 2013-02-26T09:42:21.327 回答
4

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

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

于 2013-02-26T09:22:08.140 回答