用户在使用http.SetCookie访问时会设置Cookie,如下所示:
expire := time.Now().Add(7 * 24 * time.Hour)
cookie := http.Cookie{
Name: "name",
Value: "value",
Expires: expire,
}
http.SetCookie(w, &cookie)
如果我想稍后删除此cookie,执行此操作的正确方法是什么?
答案 0 :(得分:4)
您以与设置Cookie相同的方式删除Cookie,但过去的时间是这样:
expire := time.Now().Add(-7 * 24 * time.Hour)
cookie := http.Cookie{
Name: "name",
Value: "value",
Expires: expire,
}
http.SetCookie(w, &cookie)
请注意-7
。
您还可以将MaxAge设置为负值。由于旧版本的IE不支持MaxAge,因此始终将Expires设置为过去的时间非常重要。
答案 1 :(得分:0)
根据the doc of cookie.go,MaxAge< 0表示现在删除cookie。您可以尝试以下代码:
cookie := &http.Cookie{
Name: cookieName,
Value: "",
Path: "/",
MaxAge: -1,
}
http.SetCookie(w, cookie)