如何在Perl中重定向后找到最终的URL?

时间:2010-01-06 01:15:24

标签: perl url redirect

假设我有“http://www.ritzcarlton.com”并将我重定向到“http://www.ritzcarlton.com/en/Default.htm”。 Perl有没有办法在所有重定向后找到结束URL?

2 个答案:

答案 0 :(得分:16)

使用LWP将遵循重定向。然后,您可以询问HTTP::Request对象以找出它请求的URI。

use LWP::UserAgent qw();

my $ua = LWP::UserAgent->new;

my $response = $ua->get('http://www.ritzcarlton.com');

print $response->request->uri . "\n";

输出是:

  

http://www.ritzcarlton.com/en/Default.htm

答案 1 :(得分:0)

如果您自己发出HTTP请求,则重定向URL将位于返回的Location:标头中。如果您正在使用正确的HTTP客户端,例如LWP::UserAgentWWW::Mechanize,那么您应该这样做,重定向会自动处理。