Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I get the HTTP status and Location header in Perl?

Tags:

http

header

perl

I'm new to Perl but need to use it on a project I'm working on. What I need to do is check to see if a URL has a 301 redirect and if it has, get the location. The following told me the code but not the location:

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;
}

does anyone know how to get the location?

Regards,

Phil

like image 886
Phil Jackson Avatar asked Jan 18 '26 06:01

Phil Jackson


1 Answers

The $response->header method comes from HTTP::Headers and allows you to inspect the specific headers returned from your request. To find the Location header, use

my $loc = $response->header( 'Location' );
like image 144
friedo Avatar answered Jan 20 '26 22:01

friedo