Как я могу получить статус HTTP и заголовок Location в Perl? - PullRequest
2 голосов
/ 24 января 2010

Я новичок в Perl, но мне нужно использовать его в проекте, над которым я работаю. Что мне нужно сделать, это проверить, имеет ли URL-адрес перенаправление 301 и, если он имеет, получить местоположение. Следующий сказал мне код, но не местоположение:

use strict;
use warnings;
require LWP::UserAgent;

my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
$ua->max_redirect(0);

my $response = $ua->get('http://www.actwebdesigns.co.uk/');

if ($response->is_success) {
    print $response->status_line;
    print $response->progress;
}
else {
    die $response->status_line;
}

Кто-нибудь знает, как получить местоположение?

С уважением,

Phil

Ответы [ 2 ]

7 голосов
/ 24 января 2010

Метод $response->header происходит от HTTP :: Headers и позволяет вам проверять конкретные заголовки, возвращаемые по вашему запросу. Чтобы найти заголовок Location, используйте

my $loc = $response->header( 'Location' );
1 голос
/ 24 января 2010

Используйте заголовки, содержащиеся в HTTP::Response (HTTP::Header), с $response->header.

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