我有一个简单的网址,它有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.为什么?
答案 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;