HTTP Cookies - HTTP cookie jars HTTP cookie jars:
use HTTP::Cookies;
$cookie_jar = HTTP::Cookies->new(
file => "$ENV{'HOME'}/lwp_cookies.dat",
autosave => 1,
);
use LWP;
my $browser = LWP::UserAgent->new;
$browser->cookie_jar($cookie_jar);
Or for an empty and temporary cookie jar:
use LWP;
my $browser = LWP::UserAgent->new;
$browser->cookie_jar( {} );
描述:
这类对象代表一个 "cookie jar"---也就是说, 一个所有的HTTP cookies 的数据库 给定的 LWP::UserAgent object
Cookies 是一个通用的机制, 服务端连接可以使用用于存储和检索客户端连接的信息。
更多的信息关于cookies 指向URL:http://curl.haxx.se/rfc/cookie_spec.html> and <URL:http://www.cookiecentral.com/>.
HTTP::Cookies 类的实例是用于存储Set-Cookie2的连接信息和Set-Cookie: headers
可以使用这些信息来初始化Cookie-headers 在 HTTP::Request 对象里。
HTTP::Cookies object的状态可以保存和从文件恢复。
METHODS
提供下面的方法:
$cookie_jar = HTTP::Cookies->new
构造 hash 类型的参数:
file: name of the file to restore cookies from and save cookies to
autosave: save during destruction (bool)
ignore_discard: save even cookies that are requested to be discarded (bool)
hide_cookie2: do not add Cookie2 header to requests
$cookie_jar->add_cookie_header( $request )
add_cookie_header() 方法会设置相应的 Cookie:-header 用于HTTP::Request 对象作为一个参数。
$request 必须有一个正确的url 属性在方法被调用前:
$cookie_jar->extract_cookies( $response )
extract_cookies() 方法会寻找 Set-Cookie:和Set-Cookie2: headers 在HTTP::Response 对象被作为一个参数传递。
任何这些headers 会被找到用于更新 $cookie_jar的状态
$cookie_jar->set_cookie( $version, $key, $val, $path, $domain, $port, $path_spec, $secure, $maxage, $discard,
%rest )
set_cookie() 方法 更新$cookie_jar的状态。 $key, $val, $domain, $port and $path 参数是字符串。
$path_spec, $secure, $discard 参数是布尔值。