ホームページ > バックエンド開発 > Golang > Go の net/http パッケージを使用して Cookie を正しく設定するにはどうすればよいですか?

Go の net/http パッケージを使用して Cookie を正しく設定するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-12-21 05:50:12
オリジナル
258 人が閲覧しました

How to Correctly Set Cookies Using Go's net/http Package?

サーバーから Go の net/http を使用して Cookie を設定する

Go の net/http パッケージを使用して Cookie を設定するのは簡単な作業です。ただし、一般的な落とし穴は、応答ではなくリクエスト オブジェクトに Cookie を設定しようとすることです。

実装

net/http を使用して Cookie を正しく設定する方法は次のとおりです:

package main

import (
    "fmt"
    "net/http"
    "time"
)

func indexHandler(w http.ResponseWriter, req *http.Request) {
    expire := time.Now().AddDate(0, 0, 1)
    cookie := &http.Cookie{
        Name:     "test",
        Value:    "tcookie",
        Path:     "/",
        Domain:   "www.domain.com",
        Expires:  expire,
        RawExpires:  expire.Format(time.UnixDate),
        MaxAge:     86400,
        Secure:     true,
        HttpOnly:   true,
        SameSite:    http.SameSiteStrictMode,
        Raw:          "test=tcookie",
        Unparsed: []string{"test=tcookie"},
    }

    http.SetCookie(w, cookie) // Set the cookie on the response
    fmt.Fprint(w, "Hello world!")
}

func main() {
    http.HandleFunc("/", indexHandler)
    http.ListenAndServe(":80", nil)
}
ログイン後にコピー

説明

この中で例:

  • http.SetCookie(w, cookie) は、Cookie を応答に追加するために使用されます。
  • Cookie は、名前、値、パスなどのさまざまな属性で構成されます。 、ドメイン、有効期限、およびセキュリティ設定。
  • fmt.Fprint(w, "Hello world!") は、セットを含む応答をクライアントに送信します。クッキー。

以上がGo の net/http パッケージを使用して Cookie を正しく設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート