您的位置:首页 > 理论基础 > 计算机网络

HTTP Cookies - HTTP cookie jars HTTP cookie jars:

2015-12-11 13:25 483 查看
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 参数是布尔值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: