Go设置、获取cookie
设置cookie:
服务器给发来的请求用户设置cookie:
http.SetCookie(w http.ResponseWriter, cookie *http.Cookie) //设置cookie
http.Cookie
是一个结构体。其中主要的几个key-value是:- Name :cookie名
- Expires : cookie有效时间
- Value:cookie对应的值
获取cookie:
cookies := r.Cookies() //获取所有cookie
cookie, err := r.Cookie("cookieName") // 获取Name为"cookieName"对应的cookie
服务器代码
import (
"fmt"
"net/http"
"time"
)
func main() {
http.HandleFunc("/set", setCookie) // 注册路由
http.HandleFunc("/get", getCookie)
http.ListenAndServe(":8000", nil) // 设置监听端口
}
// 设置cookie
func setCookie(w http.ResponseWriter, r *http.Request) {
expires := time.Now()
expires = expires.AddDate(1, 0, 0)
cookie := http.Cookie{
Name: "feizhuYang", // cookie名
Expires: expires, // cookie有效时间
Value: "baopilong",
}
http.SetCookie(w, &cookie)
}
// 获取cookie
func getCookie(w http.ResponseWriter, r *http.Request) {
cookies := r.Cookies() //返回所有cookie
//cookie, err := r.Cookie("feizhuYang") // 返回在请求中的对应名称的cookie
fmt.Fprintln(w, "cookie s :", cookies) // 将获取到的cookie写入前端
}