Cookies
Cookies
Http cookie
是服务器发送到用户web
浏览器的一小块数据。 浏览器可以存储这些数据并将其发送回同一个服务器,甚至在重新启动浏览器之后(不像浏览器会话)。Cookies
通常用于保存用户状态(比如用户是否登录)。
设置一个 Cookie
func MyHandler(c buffalo.Context) error {
// ...
c.Cookies().Set("user_id", user.ID, 30 * 24 * time.Hour)
// ...
}
设置一个带有过期的 Cookie
func MyHandler(c buffalo.Context) error {
// ...
exp := time.Now().Add(365 * 24 * time.Hour) // expire in 1 year
c.Cookies().SetWithExpirationTime("user_id", user.ID, exp)
// ...
}
使用 Path 设置 Cookie
func MyHandler(c buffalo.Context) error {
// ...
c.Cookies().SetWithPath("user_id", user.ID, "/user")
// ...
}
高级设置 Cookie
方式
import "net/http"
func MyHandler(c buffalo.Context) error {
// ...
ck := http.Cookie{
Name: "token",
Value: token,
Path: "/",
Expires: time.Now().Add(30 * 24 * time.Hour), // expire in 1 month
}
http.SetCookie(c.Response(), &ck)
// ...
}
获取Cookie
func MyHandler(c buffalo.Context) error {
value, err := c.Cookies().Get("user_id")
if err != nil {
return err
}
return c.Render(200, r.String(value))
}
删除 Cookie
func MyHandler(c buffalo.Context) error {
c.Cookies().Delete("user_id")
// ...
}
本作品采用《CC 协议》,转载必须注明作者和本文链接