Go语言cookie的基本操作


cookie数据结构介绍

 

cookie数据结构介绍

a. Expires,cookie过期时间,使用绝对时间。比如2018/10/10 10:10:10
b. MaxAge,cookie过期时间,使用相对时间,比如300s
c. Secure属性,是否需要安全传输,为true时只有https才会传输该cookie
Go语言cookie的基本操作
d. HttpOnly属性,为true时,不能通过js读取该cookie的值

 

golang读取cookie

a. 读取单个cookie, http.Request.Cookie(key string)

b. 读取所有cookie, http.Request.Cookies()

 

golang设置cookie

a. cookie := http.Cookie{Name: "username", Value: "astaxie", Expires: expiration}
b. http.SetCookie(w, &cookie)

 

package main

import (
    "fmt"
    "net/http"
)

func indexHandle(w http.ResponseWriter, r *http.Request) {

    /*cookies := r.Cookies()
    for index, cookie := range cookies {
        fmt.Printf("index:%d cookie:%#v\n", index, cookie)
    }*/
    c, err := r.Cookie("sessionid")
    fmt.Printf("cookie:%#v, err:%v\n", c, err)

    cookie := &http.Cookie{
        Name:   "sessionid",
        Value:  "lkjsdfklsjfklsfdsfdjslf",
        MaxAge: 3600,
        Domain: "localhost",
        Path:   "/",
    }

    http.SetCookie(w, cookie)

    //在具体数据返回之前设置cookie,否则cookie种不上
    w.Write([]byte("hello"))
}

func main() {
    http.HandleFunc("/", indexHandle)
    http.ListenAndServe(":9090", nil)
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM