tags:

views:

185

answers:

2

Hi, 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

+1  A: 

Use the headers contained in HTTP::Response (HTTP::Header), with $response->header.

John Feminella
+5  A: 

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' );
friedo
Thank you! Thats perfect
Phil Jackson