我有以下代码并且工作正常:
func main() {
http.HandleFunc("/", samplePage)
_ = http.ListenAndServe(":8080", nil)
}
func samplePage(w http.ResponseWriter, r *http.Request) {
expiration := time.Now().Add(time.Hour)
cookie := http.Cookie{Name: "username", Value: "XXX", Expires: expiration}
http.SetCookie(w, &cookie)
fmt.Fprintln(w, cookie.Value)
fmt.Fprintln(w, cookie.Expires)
}
它给了我
XXX
2016-03-29 17:57:02.7077906 -0700 PDT
但是,如果我打印以下内容,则无法正常工作:
cookie2, err := r.Cookie("username")
checkErr(err) //no error is found
fmt.Fprintln(w, cookie2.Value)
fmt.Fprintln(w, cookie2.Expires)
这给了我
XXX
0001-01-01 00:00:00 +0000 UTC
看起来像"价值"可以工作但是"到期"没有按'吨。我想使用Cookie进行用户登录。谁能告诉我如何制作" cookie2"工作?
P.S。我还发现了以下问题:这与我的问题非常相似,但答案是我们不能以这种方式使用cookie。如果这是真的那么我可以知道每个人都在使用cookie吗?
谢谢
答案 0 :(得分:-1)
您应该请求名称为“ Expiry”的cookie,您将获得设置的有效期