我正在尝试设计一种方法,可以从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()接口获得的cookie是客户端需要发送到服务器的数据,不包括服务器需要告知客户端的路径,到期时间等,而客户端仅需要告诉客户端cookie的名称和对应的值

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

10-15 19:15