1. ホーム
  2. cookies

net/httpでCookieを設定する

2023-09-12 10:45:45

質問

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)
}

Golang」を「Cookie」でググってみましたが、いい結果が出ませんでした。もし誰かが私に正しい方向を示すことができれば、それは非常に感謝されます。

どのように解決するのですか?

私はGoの専門家ではありませんが、リクエスト時にCookieを設定しているのではないでしょうか? レスポンスに設定したほうがいいのでは?というのがあり setCookie という関数がnet/httpにあります。これを使うといいかもしれません。 http://golang.org/pkg/net/http/#SetCookie

func SetCookie(w ResponseWriter, cookie *Cookie)