如何确定URL是否重定向?

11 perl groovy redirect http

如果我有一个URL(例如http://www.foo.com/alink.pl?page=2),我想确定我是否被重定向到另一个链接.我也想知道最终的URL(例如http://www.foo.com/other_link.pl).最后,我希望能够在Perl和Groovy中执行此操作.

Ani*_*van 16

在Perl中:

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

my $request  = HTTP::Request->new( GET => 'http://google.com/' );
my $response = $ua->request($request);
if ( $response->is_success and $response->previous ) {
    print $request->url, ' redirected to ', $response->request->uri, "\n";
}
Run Code Online (Sandbox Code Playgroud)

  • S/GET/HEAD /.使用google.com它似乎没有任何更快,但尝试使用microsoft.com ... (3认同)

Jam*_*ran 8

好吧,我对Perl或groovy一无所知,所以我会从HTTP的角度给你另一个,你必须适应.

通常,您发出HTTP请求,然后返回一些HTML文本以及响应代码.Success的响应代码是200.300范围内的任何响应代码都是某种形式的重定向.