1. Demo
func main() {
g := gin.Default()
g.GET("/cookie", func(ctx *gin.Context) {
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "admin"
ctx.SetCookie("username", cookie, 3600, "/", "localhost", false, true)
}
fmt.Println(`Cookie("username"):`, cookie)
})
g.Run()
}
2. 获取 Cookie
- 函数参数为 cookie 的键名,返回值为对应的值和 error,如果 error 为 nil,表示该键名有对应的值
Cookie(name string) (string, error)
// name: 键
3. 设置 Cookie
SetCookie(name string, value string, maxAge int, path string, domain string, secure bool, httpOnly bool)
// name 键
// value 值
// maxAge 存在时间,单位是秒(s)
// path Cookie 所在的目录
// domain 域名
// secure 是否只能通过 https 访问
// httpOnly 是否允许别人通过 js 获取自己的 Cookie