Perl:LWP :: UserAgent总是为重定向的URL返回代码200

时间:2011-12-08 14:17:51

标签: perl http lwp-useragent

我有一个简单的网址,它有302个临时值。转到另一页。

如果URL返回代码200(确定)以检索它并且如果返回的是200以外的其他内容,我会尝试访问。

我的代码:

my $ua = LWP::UserAgent->new( env_proxy => 1,keep_alive => 1, timeout => 30, agent => "Mozilla/4.76 [en] (Win98; U)");
my $response = $ua->get( $currenturl);
print $response->code;

上面的代码ALWAYS返回200,即使它是302.我在Firefox中使用FireBug测试了标题响应。该URL在FireBug的Net模块中返回“302 Moved Temporarily”。但是perl中的代码返回200.为什么?

1 个答案:

答案 0 :(得分:18)

LWP :: UserAgent自动跟随HTTP redirects。 您可以通过将max_redirect选项设置为0来禁用此类行为。

my $ua = LWP::UserAgent->new( max_redirect => 0, env_proxy => 1,keep_alive => 1, timeout => 30, agent => "Mozilla/4.76 [en] (Win98; U)");
my $response = $ua->get( $currenturl);
print $response->code;