无法在golang中获取cookie过期时间

我正在设置一个新的 cookie


func f1(w http.ResponseWriter, r *http.Request) {

...

expire := time.Now().AddDate(0, 1, 0)

cookie := http.Cookie{"token", token, "/", "domain", expire, expire.Format(time.UnixDate), 86400, true, true, "token=" + token, []string{"token=" + token}}

http.SetCookie(w, &cookie)

然后我试图得到它


func f2(w http.ResponseWriter, r *http.Request) {

...

cookie, err := r.Cookie("token")

fmt.Println(cookie.Value)

fmt.Println(cookie.Expires)

输出


valid_token_string

0001-01-01 00:00:00 +0000 UTC

值与我设置的相同,但 Expires 为空。为什么?


宝慕林4294392
浏览 379回答 2
2回答

蛊毒传说

这就是 HTTP 的工作原理;expires 属性仅与 Set-Cookie 响应头一起发送,而不与 Cookie 请求头一起发送。Cookie 请求标头仅包含 cookie 的名称和值,不包含任何其他元数据。

繁星coding

如果您想查询到期时间,您应该将其作为不同的 cookie 处理。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go