Search code examples
perlhttp-headerscontent-type

Perl LWP::useragent capture server response headers


I'm querying a webserver for a document and I want to capture the both the document and the related server response headers (esp. Content-Type: ...). I have trouble finding out how to read the headers. Here are some sniplets from my Perl script, I left error checking out for clarity:

use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
$ua->agent( 'requiredCustomUserAgent' ); # I'm required to set a custom user agent
$imageData = $response->content;         # This is the received document

So at this point I can retrieve the web document, but I want to know what Content-Type the server sent with it. Unfortunately this is not always the same as the mime type found by the bash 'file' command. This file-method fails in case of .js or .css documents.


Solution

  • http://search.cpan.org/perldoc?HTTP::Response

    use LWP::UserAgent;
    my $ua = new LWP::UserAgent;
    my $response = $ua->get("http://google.co.uk");
    
    print $response->headers()->as_string;
    print $response->header('content-type');