2013-07-02 64 views
2

我想获取重定向URL的最后一个。在perl中获取重定向url

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

我想URL_1在Perl得到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

您可以找到使用导致响应该请求

$response->request() 

你可以得到以前的回应链中使用

$response->previous() 

全部在一起:

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

谢谢!我可以获得重定向的URL! – hoshipeace

+0

当超过2个“重定向网站”时,这仍然有效吗? –

+1

@Ibrahim Apachi,是的,循环显示所有请求的网址。 – ikegami