在perl中获取重定向的url

时间:2013-07-02 02:53:44

标签: perl url get

我想获得最后一个重定向网址。

url_1:http://on.fb.me/4VGeu url_2:https://www.facebook.com/

我想在perl中通过url_1获取url_2。 以前的资料来源如下。

sub get_redirect_location
{
    my ($url) = @_;
    my $ua = LWP::UserAgent->new;

    $ua->proxy('http', 'SAMPLE_PROXY');
    my $req = new HTTP::Request(GET => $url);
    my $res = $ua->request($req);

    return $res->headers_as_string;
}

提前致谢。

2 个答案:

答案 0 :(得分:2)

您可以使用

找到导致回复的请求
$response->request()

您可以使用

获取链中的上一个响应
$response->previous()

所有在一起:

while ($response) {
   say $response->request()->uri();
   $response = $response->previous();
}

答案 1 :(得分:0)

你可以看看WWW :: Mechanize。我以前用过它来做这样的事情。 http://search.cpan.org/~jesse/WWW-Mechanize-1.72/lib/WWW/Mechanize.pm# $ mech-> redirect_ok()

您可能还会发现这篇文章有用:

Perl WWW::Mechanize (or LWP) get redirect url