如何使用 Go 和 http 包删除 cookie?

用户在使用 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,那么正确的方法是什么?


尚方宝剑之说
浏览 312回答 2
2回答

浮云间

您删除 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 设置为过去的时间。

小唯快跑啊

根据cookie.go 的文档, MaxAge<0 表示现在删除 cookie。您可以尝试以下代码:cookie := &http.Cookie{&nbsp; &nbsp; Name:&nbsp; &nbsp;cookieName,&nbsp; &nbsp; Value:&nbsp; "",&nbsp; &nbsp; Path:&nbsp; &nbsp;"/",&nbsp; &nbsp; MaxAge: -1,}http.SetCookie(w, cookie)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go