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

Go 添加到CookieJar会导致cookie数据被清除,go,Go,我正在尝试设计一种方法,可以从http.Client获取cookie,存储原始cookie数据,然后稍后将原始cookie转换为*http.cookie,然后将其添加到http.CookieJar。到目前为止,cookie的创建似乎是正确的: fmt.Println(cookies) [MyCookie=ab4d4e5a-38a3-4f23-aa9f-90cbe40419c1; Path=/; Domain=mydomain.com; Expires=Tue, 24 Mar 2020 00:3

我正在尝试设计一种方法,可以从http.Client获取cookie,存储原始cookie数据,然后稍后将原始cookie转换为*http.cookie,然后将其添加到http.CookieJar。到目前为止,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是客户端需要发送到服务器的数据,不包括路径、过期时间等,服务器需要告知客户端,客户端只需告知cookie的名称和对应值即可

此!解释得再好不过了!“这是标准cookiejar的预期行为吗”是的,100%。这种行为无法更改或自定义。Jar负责在哪个请求中返回哪些cookie(这很复杂)。net/http/cookiejar的分支允许访问所有数据,但stdlib的分支不允许。