【发布时间】:2011-01-01 21:27:54
【问题描述】:
假设我有“http://www.ritzcarlton.com”,这会将我重定向到“http://www.ritzcarlton.com/en/Default.htm”。 Perl 有没有办法在所有重定向之后找到结束 url?
【问题讨论】:
假设我有“http://www.ritzcarlton.com”,这会将我重定向到“http://www.ritzcarlton.com/en/Default.htm”。 Perl 有没有办法在所有重定向之后找到结束 url?
【问题讨论】:
使用 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 请求,则重定向 URL 将位于返回的 Location: 标头中。如果您使用正确的 HTTP 客户端,如 LWP::UserAgent 或 WWW::Mechanize,这是您应该做的,重定向会自动处理。
【讨论】: