http://www.perlmonks.org?node_id=426681

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.
#!/usr/bin/perl use strict; use warnings; use WWW::Mechanize; my $mech = WWW::Mechanize->new( autocheck => 1 ); $mech->get( 'http://www.perlmonks.org/' ); 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 (Abbot) on Jan 31, 2005 at 18:26 UTC
    did you think of sending that as a documentation-patch to Andy Lester?

    holli, regexed monk
      holli,
      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
      merlyn,
      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.

        xoxo,
        Andy