Go語言 Cookie的使用

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

首先看看Cookie的結構體

type Cookie struct {    Name  string    Value string    Path       string    // optional    Domain     string    // optional    Expires    time.Time // optional    RawExpires string    // for reading cookies only    // MaxAge=0 means no 'Max-Age' attribute specified.    // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'    // MaxAge>0 means Max-Age attribute present and given in seconds    MaxAge   int    Secure   bool    HttpOnly bool    Raw      string    Unparsed []string // Raw text of unparsed attribute-value pairs}

 

設定Cookie

cookie := http.Cookie{Name: "testcookiename", Value: "testcookievalue", Path: "/", MaxAge: 86400}http.SetCookie(w, &cookie)

 

讀取Cookie

cookie, err := req.Cookie("testcookiename")

 

刪除Cookie

cookie := http.Cookie{Name: "testcookiename", Path: "/", MaxAge: -1}http.SetCookie(w, &cookie)

 

 

package mainimport (    "net/http")func SayHello(w http.ResponseWriter, req *http.Request) {    w.Write([]byte("Hello"))}func ReadCookieServer(w http.ResponseWriter, req *http.Request) {    // read cookie    cookie, err := req.Cookie("testcookiename")    if err == nil {        cookievalue := cookie.Value        w.Write([]byte("<b>cookie的值是:" + cookievalue + "</b>\n"))    } else {        w.Write([]byte("<b>讀取出現錯誤:" + err.Error() + "</b>\n"))    }}func WriteCookieServer(w http.ResponseWriter, req *http.Request) {    cookie := http.Cookie{Name: "testcookiename", Value: "testcookievalue", Path: "/", MaxAge: 86400}    http.SetCookie(w, &cookie)    w.Write([]byte("<b>設定cookie成功。</b>\n"))}func DeleteCookieServer(w http.ResponseWriter, req *http.Request) {    cookie := http.Cookie{Name: "testcookiename", Path: "/", MaxAge: -1}    http.SetCookie(w, &cookie)    w.Write([]byte("<b>刪除cookie成功。</b>\n"))}func main() {    http.HandleFunc("/", SayHello)    http.HandleFunc("/readcookie", ReadCookieServer)    http.HandleFunc("/writecookie", WriteCookieServer)    http.HandleFunc("/deletecookie", DeleteCookieServer)    http.ListenAndServe(":80", nil)}

 

http://localhost/readcookie

http://localhost/writecookie

http://localhost/deletecookie

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.