1、设置cookie
// 设置cookie
func (con TestController) SetMyCookie(c *gin.Context) {
c.SetCookie("username", "李白", 60, "/", ".go.com", false, true)
}
参数说明:
- 参数1:name,设置cookie的key
- 参数2:value,设置cookie的值
- 参数3:maxAge:设置cookie有效期
- 参数4:path:设置cookie的路径,一般设置根目录
/
代表当前域名下的所有页面都可以获取该cookie,例如设置为/users
代表在/users
这个路由下才可以访问这个cookie,像/article
文章路由下的页面则无法访问这个cookie - 参数5:domain:设置cookie域名,如下我设置域名为
.go.com
代表以.go.com
为域名或者go.com
的二级域名都可以访问这个cookie,像java.com
这种域名就无法访问这个cookie,localhost
也不可以访问这个cookie - 参数6:secure,设置为
true
的时候只有https
才可以访问,http
不可以访问 - 参数7:httpOnly,此项为微软对cookie做的扩展,如果设置了
httpOnly
,则通过程序(js、applet等等)将无法读取到cookie的信息,防止XSS攻击
2、获取cookie
// 获取cookie
func (con TestController) GetMyCookie(c *gin.Context) {
username, _ := c.Cookie("username")
c.String(http.StatusOK, "%v", username)
}