如果我有一个URL(例如http://www.foo.com/alink.pl?page=2),我想确定我是否被重定向到另一个链接.我也想知道最终的URL(例如http://www.foo.com/other_link.pl).最后,我希望能够在Perl和Groovy中执行此操作.
在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"; }
好吧,我对Perl或groovy一无所知,所以我会从HTTP的角度给你另一个,你必须适应.
通常,您发出HTTP请求,然后返回一些HTML文本以及响应代码.Success的响应代码是200.300范围内的任何响应代码都是某种形式的重定向.