gin框架下的cookie

!!!新人入门笔记,全为在部分网站资料支撑下的实验和猜测,不能保证正确性。!!!参考代码来源:Cookie和Session | 李文周的博客 (liwenzhou.com)gin框架下的cookiehttps://www.liwenzhou.com/posts/Go/Cookie_Session/
 

import (
    "fmt"
    "github.com/gin-gonic/gin"
)

func main() {
    router := gin.Default()
    router.GET("/cookie", func(c *gin.Context) {
        cookie, err := c.Cookie("gin_cookie") // 获取Cookie
        if err != nil {
            cookie = "NotSet"
            // 设置Cookie
            c.SetCookie("gin_cookie", "test", 3600, "/", "localhost", false, true)
        }
        fmt.Printf("Cookie value: %s \n", cookie)
    })

    router.Run()
}


c.SetCookie为创建cookie,里面各个参数的含义:
1、"gin_cookie":cookie的名字
2、"test":cookie名字对应的值
(cookie, err := c.Cookie("gin_cookie") :以名字为依据寻找对应值并将值放入参数中,当没有对应名字的cookie时err会报错,当以上两个参数为汉字时会无法生成cookie)
3、3600:生效时间,到时间时效,为负数时关闭页面失效。
4、"/":可以访问的有效路径,以/结尾,比如/1/2/可访问/1/2/、/1/2/3/等,但不能访问/1/。
5、"localhost":可以生效的域,比如127.0.0.1可以在127.0.0.1:3000/index生效
6、 false 7、true:关于传输与安全的值
故以上代码第一次运行后,参数cookie值为NotSet,第二次为test

cookie文件一旦生成将会放入本地,因此可作为登陆依据进行运用(比如当登陆成功后生成cookie文件,在其他网页中加入检验是否有对应cookie的中间件,以此作为登陆依据)

上一篇:Android使用OpenCV CamShift实现目标追踪


下一篇:周游C语言教程16 - typedef