go - 添加到 CookieJar 会导致 cookie 数据被清除

标签 go

我正在尝试设计一种方法,可以从 http.Client 获取 cookie,存储原始 cookie 数据,然后稍后将原始 cookie 转换为 *http.Cookie,然后将其添加到 http 。 cookies jar 。截至目前,似乎 cookie 已正确创建:

fmt.Println(cookies)

[MyCookie=ab4d4e5a-38a3-4f23-aa9f-90cbe40419c1; Path=/; Domain=mydomain.com; Expires=Tue, 24 Mar 2020 00:35:26 GMT; HttpOnly; Secure]

但是,当我尝试将此 cookie 添加到 jar 中时,它似乎删除了大部分数据:
jar, _ := cookiejar.New(&cookiejar.Options{PublicSuffixList: publicsuffix.List})
jar.SetCookies(domain, cookies)
fmt.Printf("%+v\n", jar.Cookies(domain))

[MyCookie=ab4d4e5a-38a3-4f23-aa9f-90cbe40419c1]

这是标准 cookiejar 的预期行为,还是我可以采取另一种方法?

最佳答案

cookiejar 模拟一个cookie客户端,用于管理服务器分发的cookie。通过cookies()获得的cookies接口(interface)是客户端需要发送给服务端的数据,不包括路径、过期时间等,服务端需要告诉客户端,而客户端只需要告诉客户端的名称和对应的值曲奇饼

关于go - 添加到 CookieJar 会导致 cookie 数据被清除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60715318/

相关文章:

go - 如何克隆具有未导出字段的结构?

go - 如何在 Go 中以正确的类型解析 JSON 值?

Golang 类型在指向一种类型 slice 的指针 slice 与另一种类型 slice 之间的类型转换

mongodb - 使用 golang 和 mongodb 进行顺序查询

go - Golang-创建与传递的类型相同的对象

go - golang 的手册页?

go - 在 Go 中如何获取目录中所有文件的完整路径?

go - 获取 cloud.google.com/go/datastore 会为 golang.org/x/lint 提供格式错误的记录数据

json - 如何使用 String() 方法将嵌入式结构正确序列化为 JSON 字符串?

go - 隐式私有(private)函数导入?