WWW::Mechanize
подклассы LWP::UserAgent
, поэтому вы все равно можете использовать любой из методов LWP::UserAgent
. Таким образом, вы можете использовать метод simple_request()
, который автоматически не обрабатывает перенаправления. Он просто возвращает вам ответ в виде объекта HTTP::Resonse
. Это означает, что вы можете использовать методы is_redirect()
и header()
для получения URI перенаправления. Это означает, что вы можете использовать модуль URI
, чтобы выполнить все после #.
Уф!
Ваш код будет выглядеть примерно так:
my $response = $mech->simple_request( HTTP::Request->new(GET => 'http://www.example.com/') );
if( $response->is_redirect ) {
my $location = $response->header( "Location" );
my $uri = new URI( $location );
my $new_url = $uri->scheme . $uri->opaque;
# And here is where you do the load of the new URL.
}
Может быть что-то сложное, возможно, около линии header()
, но это было бы общей идеей.