Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

HTTP Headers Using WWW::Mechanize

by Limbic~Region (Chancellor)
on Jan 31, 2005 at 18:04 UTC ( #426681=snippet: print w/replies, xml ) Need Help??
Description: It isn't readily apparent from the docs how to get at the HTTP headers while using WWW::Mechanize. The miscellaneous add_header and delete_header likely don't do what you want. The following snippet gets you a complete list of headers and their values as well as shows you how to get a specific value if you know the header key in advance.
use strict;
use warnings;
use WWW::Mechanize;

my $mech = WWW::Mechanize->new( autocheck => 1 );
$mech->get( '' );

my $response = $mech->response();
for my $key ( $response->header_field_names() ) {
    print $key, " : ", $response->header( $key ), "\n";
# Or if you know the header key in advance
my $header = $mech->response()->header( 'key' );
Replies are listed 'Best First'.
Re: HTTP Headers Using WWW::Mechanize
by holli (Monsignor) on Jan 31, 2005 at 18:26 UTC
    did you think of sending that as a documentation-patch to Andy Lester?

    holli, regexed monk
      Thanks. I thought of that as well and had already /msg'd him with a pointer to this thread. Not sure if Andy would prefer to add more miscellaneous methods, modify the documentation, add to the FAQ, or something else entirely.

      Cheers - L~R

Re: HTTP Headers Using WWW::Mechanize
by merlyn (Sage) on Jan 31, 2005 at 19:48 UTC
      What's wrong with: $mech->response->headers->as_string?

      Nothing, except it solves a problem other than the one I was going after (see Description).

      First, the docs for WWW::Mechanize leave a little to be desired as far as getting at the headers in the first place. You have to know that the HTTP::Response object returned by the response() method has what you are looking for.

      Second, the intention by accessing them by key was just to get the value you wanted as per the Description. In this particular case, water was after the p3p key. Of course you could parse the results of the as_string method, but why?

      Cheers - L~R

        Patches welcome. If something's unclear, please send me updates to the doc that expand on it. It's hard for me, as the author, to know what people need to know, or if it's not as clear as should be.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: snippet [id://426681]
[Corion]: Whee! Germanys Grand Central Airport (for Berlin, re-scheduled for the thrid or fourth time, to open now in 2018) has just fired their technical lead
[ambrus]: Corion: Is their budget estimate four times the initial estimate yet? Was the construction late by six months already three months after they started?
[marto]: I'll believe it when I see it. That's been due for many years now :P
[marto]: oddly the last time I was there I saw a zeppelin in flight for the first time
[Corion]: ambrus: I don't know how far the budget estimate has been overrun yet
[Corion]: marto: Heh ;) No, you were likely at Tegel or Schönefeld, the new one ("BER") will be somewhat outside of Berlin ;)
[marto]: Corion Schoenfeld, but my friend has been telling me about this new airport for about 7-8 years now :P
[marto]: I doubt it even exists as a building site :P

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (8)
As of 2017-02-23 11:58 GMT
Find Nodes?
    Voting Booth?
    Before electricity was invented, what was the Electric Eel called?

    Results (346 votes). Check out past polls.