为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
尚方宝剑之说 2021-09-27 17:40:04
用户在使用 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,那么正确的方法是什么?
查看完整描述

2 回答

?
浮云间

TA贡献1829条经验 获得超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 设置为过去的时间。


查看完整回答
反对 回复 2021-09-27
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

根据cookie.go 的文档, MaxAge<0 表示现在删除 cookie。您可以尝试以下代码:


cookie := &http.Cookie{

    Name:   cookieName,

    Value:  "",

    Path:   "/",

    MaxAge: -1,

}

http.SetCookie(w, cookie)


查看完整回答
反对 回复 2021-09-27
  • 2 回答
  • 0 关注
  • 311 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信