ホームページ > バックエンド開発 > Golang > GolangでCookieを実装する方法

GolangでCookieを実装する方法

PHPz
リリース: 2023-04-05 14:54:46
オリジナル
1188 人が閲覧しました

Web 開発において、Cookie は、後続のリクエストで使用するためにユーザーに関する情報を保存するために使用される非常に一般的なテクノロジーです。

Go 言語 (golang) は完全な Cookie サポートも提供しており、HTTP リクエストおよび応答内の Cookie を簡単に読み取り、設定できます。

この記事では、golang が Cookie を実装する方法を紹介し、読者がよりよく理解できるようにいくつかのサンプル コードを提供します。以下に詳しくご紹介します。

1. golang の Cookie

golang では、http パッケージの Cookie タイプを使用して Cookie を表します。 Cookie には、キーと値の 2 つのフィールドと、パス、ドメイン、MaxAge、Expires などのいくつかのオプションのフィールドが含まれます。

以下は Cookie の定義です:

type Cookie struct {

Name       string
Value      string
Path       string
Domain     string
Expires    time.Time
RawExpires string

MaxAge   int
Secure   bool
HttpOnly bool

Raw string
Unparsed []string
ログイン後にコピー

}

Cookie の各フィールドの意味は次のとおりです。

    ##Name: Cookie の名前
  • Value: Cookie の値
  • Path: Cookie の有効なリクエスト URL パス
  • Domain: Cookie の有効なリクエスト URL のホスト名
  • Expires: Cookie の有効期限
  • MaxAge: Cookie の有効期限 (秒単位)
  • セキュア: Cookie は HTTPS 接続でのみ送信されます
  • HttpOnly : Cookie は JavaScript からアクセスできません
  • Raw: HTTP リクエスト内の Cookie の元の文字列
  • Unparsed : 未処理の cookie 文字列
2. cookie を設定する

golang では、cookie を設定するには、http パッケージの SetCookie 関数を使用できます。 SetCookie 関数には、HTTP 応答をクライアントに送信するために使用される、ResponseWriter タイプのパラメーターが必要です。

SetCookie 関数の定義は次のとおりです。

func SetCookie(w ResponseWriter, cookie *Cookie)

サンプル コードでは、「」という名前を設定します。 username" Cookie を作成し、その値を "john" に設定します。

サンプル コードは次のとおりです。

package main

import (

"net/http"
ログイン後にコピー
)

func main() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
ログイン後にコピー
ログイン後にコピー
}

func handler(w http.ResponseWriter, r *http.Request) {

c := http.Cookie{Name: "username", Value: "john"}
http.SetCookie(w, &c)
ログイン後にコピー
}

3. cookie

## を読み取ります。 #In golang では、Cookie を読み取るには、http パッケージの Cookies 機能を使用できます。 Cookies 関数には、HTTP リクエストを表すために使用される Request タイプのパラメータが必要です。

以下は Cookies 関数の定義です:

func Cookies(r

Request) []

Cookieサンプル コードでは、 「username」という名前の Cookie を設定し、その値をコンソールに出力します。

サンプル コードは次のとおりです。

package main

import (

"fmt"
"net/http"
ログイン後にコピー

)

func main() {

http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
ログイン後にコピー
ログイン後にコピー

}

func handler(w http.ResponseWriter, r *http.Request) {

c, err := r.Cookie("username")
if err != nil {
    fmt.Println("Unable to read cookie")
} else {
    fmt.Println(c.Value)
}
ログイン後にコピー

}

このサンプル コードでは、Request の Cookie メソッドを使用しています。 「ユーザー名」という名前のクッキーを読み取ります。読み取りに成功した場合は cookie の値が出力され、そうでない場合はエラー メッセージが出力されます。

概要

この記事では、cookie の作成方法と読み取り方法を含め、golang で cookie を使用する方法を紹介します。この記事の導入により、読者は golang での Cookie の基本的な使用法を習得でき、Web 開発の可能性がさらに広がります。

以上がGolangでCookieを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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