package cookiejar
import "net/http/cookiejar"
cookiejar包实现了保管在内存中的符合RFC 6265标准的http.CookieJar接口。
Index
- type PublicSuffixList
- type Options
- type Jar
- func New(o *Options) (*Jar, error)
- func (j *Jar) Cookies(u *url.URL) (cookies []*http.Cookie)
- func (j *Jar) SetCookies(u *url.URL, cookies []*http.Cookie)
type PublicSuffixList
type PublicSuffixList interface {
// 返回域名的公共后缀。
// TODO:域名的格式化应该由调用者还是接口方法负责还没有确定。
PublicSuffix(domain string) string
// 返回公共后缀列表的来源的说明,该说明一般应该包含时间戳和版本号。
String() string
}
PublicSuffixList提供域名的公共后缀。例如:
- "example.com"的公共后缀是"com"
- "foo1.foo2.foo3.co.uk"的公共后缀是"co.uk"
- "bar.pvt.k12.ma.us"的公共后缀是"pvt.k12.ma.us"
PublicSuffixList接口的实现必须是并发安全的。一个总是返回""的实现是合法的,也可以通过测试;但却是不安全的:它允许HTTP服务端跨域名设置cookie。推荐实现:code.google.com/p/go.net/publicsuffix
type Options
type Options struct {
// PublicSuffixList是公共后缀列表,用于决定HTTP服务端是否能给某域名设置cookie
// nil值合法的,也可以通过测试;但却是不安全的:它允许HTTP服务端跨域名设置cookie
PublicSuffixList PublicSuffixList
}
Options是创建新Jar是的选项。
type Jar
type Jar struct {
// 内含隐藏或非导出字段
}
Jar类型实现了net/http包的http.CookieJar接口。
func New
func New(o *Options) (*Jar, error)
返回一个新的Jar,nil指针等价于Options零值的指针。
func (*Jar) Cookies
func (j *Jar) Cookies(u *url.URL) (cookies []*http.Cookie)
实现CookieJar接口的Cookies方法,如果URL协议不是HTTP/HTTPS会返回空切片。
func (*Jar) SetCookies
func (j *Jar) SetCookies(u *url.URL, cookies []*http.Cookie)
实现CookieJar接口的SetCookies方法,如果URL协议不是HTTP/HTTPS则不会有实际操作。