NAME¶
HTTP::CookieMonster::Cookie - Cookie representation used by HTTP::CookieMonster
VERSION¶
version 0.08
SYNOPSIS¶
use HTTP::CookieMonster::Cookie;
my $cookie = HTTP::CookieMonster::Cookie->new(
key => 'cookie-name',
val => 'cookie-val',
path => '/',
domain => '.somedomain.org',
path_spec => 1,
secure => 0,
expires => 1376081877
);
use WWW::Mechanize;
use HTTP::CookieMonster;
my $mech = WWW::Mechanize->new;
my $monster = HTTP::CookieMonster->new( cookie_jar => $mech->cookie_jar );
$monster->set_cookie( $cookie );
$mech->get( $url ); # passes $cookie in request
DESCRIPTION¶
This module is intended to be used by HTTP::CookieMonster to represent cookies
found in an HTTP::Cookies cookie_jar. To keep things familiar, I have chosen
method names which reflect the positional parameter names laid out in the
$cookie_jar->scan( \&callback ) documentation.
Not being intimately familiar with the HTTP cookie spec, I haven't forced
validation or default values on any attributes, so please be aware that the
burden is on the user to provide "correct" data if you are using
this module directly.
I have provided some sample values below. To get a better idea of what is
required, try visiting a few sites and dumping their cookies.
use Data::Printer;
my $mech = WWW::Mechanize->new;
$mech->get( 'http://www.google.ca' );
my $monster = HTTP::CookieMonster->new( cookie_jar => $mech->cookie_jar );
p $monster->all_cookies;
version¶
$cookie->version( 0 );
key¶
The name of the cookie.
$cookie->key( "session_id" );
val¶
The value of the cookie.
$cookie->value( "random_stuff" );
If you are creating a new cookie, you should escape the value first.
use URI::Escape qw( uri_escape );
$cookie->value( uri_escape( 'random_stuff' ) );
path¶
$cookie->path( "/" );
domain¶
$cookie->domain( ".google.ca" );
port¶
path_spec¶
$cookie->path_spec( 1 );
secure¶
$cookie->secure( 1 );
expires¶
$cookie->expires( 1407696193 );
discard¶
hash¶
$cookie->hash( { HttpOnly => undef } );
SEE ALSO¶
This is mainly useful for creating cookies to be used by LWP::UserAgent and
"WWW::Mechanize classes". If you need to create cookies to set via
headers, have a look at Cookie::Baker.
AUTHOR¶
Olaf Alders <olaf@wundercounter.com>
COPYRIGHT AND LICENSE¶
This software is copyright (c) 2012 by Olaf Alders.
This is free software; you can redistribute it and/or modify it under the same
terms as the Perl 5 programming language system itself.