78

Goのnet/httpパッケージでCookieを設定しようとしています。私は持っています:

package main

import "io"
import "net/http"
import "time"

func indexHandler(w http.ResponseWriter, req *http.Request) {
    expire := time.Now().AddDate(0, 0, 1)
    cookie := http.Cookie{"test", "tcookie", "/", "www.domain.com", expire, expire.Format(time.UnixDate), 86400, true, true, "test=tcookie", []string{"test=tcookie"}}
    req.AddCookie(&cookie)
    io.WriteString(w, "Hello world!")
}

func main() {
    http.HandleFunc("/", indexHandler)
    http.ListenAndServe(":80", nil)
}

「cookies」で「Golang」をグーグルで検索してみましたが、良い結果が得られませんでした。誰かが私を正しい方向に向けることができれば、それは大いにありがたいです。

4

7 に答える 7

100

私は Go の専門家ではありませんが、リクエストに Cookie を設定していると思いますよね? 応答に設定することをお勧めします。setCookienet/http に機能があります。これが役立つかもしれません: http://golang.org/pkg/net/http/#SetCookie

func SetCookie(w ResponseWriter, cookie *Cookie)
于 2012-08-26T13:44:05.027 に答える
11

この以下のコードはあなたを助けます

    cookie1 := &http.Cookie{Name: "sample", Value: "sample", HttpOnly: false}
    http.SetCookie(w, cookie1)
于 2016-02-08T10:18:21.753 に答える
-1

ゴリラ パッケージを使用して Cookie を処理するか、安全な Cookie を使用できます: http://www.gorillatoolkit.org/pkg/securecookie

于 2016-09-26T18:46:03.973 に答える