Как я могу найти окончательный URL после всех перенаправлений в Perl? - PullRequest
5 голосов
/ 06 января 2010

Допустим, у меня есть "http://www.ritzcarlton.com" и это перенаправляет меня на" http://www.ritzcarlton.com/en/Default.htm". Есть ли способ в Perl найти конечный URL после всех перенаправлений?

Ответы [ 2 ]

16 голосов
/ 06 января 2010

Использование LWP будет следовать за перенаправлениями для вас. Затем вы можете запросить объект HTTP::Request, чтобы узнать запрошенный URI.

use LWP::UserAgent qw();

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

my $response = $ua->get('http://www.ritzcarlton.com');

print $response->request->uri . "\n";

Вывод:

http://www.ritzcarlton.com/en/Default.htm

0 голосов
/ 06 января 2010

Если вы отправляете HTTP-запросы самостоятельно, URL-адрес перенаправления будет в возвращенном заголовке Location:. Если вы используете правильный HTTP-клиент, такой как LWP :: UserAgent или WWW :: Mechanize , что вам и нужно, перенаправление обрабатывается автоматически.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...