ホームページ  >  記事  >  バックエンド開発  >  Golang で Cookie をリクエストする方法

Golang で Cookie をリクエストする方法

PHPz
PHPzオリジナル
2023-04-10 14:17:491158ブラウズ

Golang リクエスト Cookie

プログラマとして、私たちはネットワーク リクエストに関与することが多く、ネットワーク リクエスト関数を実装するとき、多くの場合 Cookie を使用する必要があります。では、Golang で Cookie をリクエストするにはどうすればよいでしょうか?次に、この記事では Golang で Cookie をリクエストする方法を紹介します。

まず、Cookie とは何かを理解する必要があります。 Cookie は HTTP プロトコルのデータ送信方法であり、クライアントのステータス情報を保存するために使用されます。ユーザーのログイン情報、閲覧履歴、ショッピングカートなどの情報を記録し、ユーザー情報の追跡・管理を実現します。

Golang では、Cookie のリクエストは Cookie の設定と Cookie の取得の 2 つの部分に分かれています。

Set Cookie:

Golang リクエストでは、ヘッダーを設定することで Cookie を設定できます。ログインが必要な一部の Web サイトでは、データを不正に取得するためにリクエスト ヘッダーに Cookie を含める必要があります。

サンプル コード:

func setCookie() {
    url := "https://www.example.com/login"
    req, err := http.NewRequest("POST", url, strings.NewReader(`{"foo":"bar"}`))
    if err != nil {
        log.Fatalln(err)
    }
    req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
    //设置Cookie
    req.AddCookie(&http.Cookie{Name: "user", Value: "123"})
    cli := http.Client{}
    resp, err := cli.Do(req)
    if err != nil {
        log.Fatalln(err)
    }
    defer resp.Body.Close()
    fmt.Println(resp.StatusCode)
}

この例では、まず投稿リクエストのリクエスト本文を作成し、リクエスト ヘッダーに Content-Type を設定してから、req.AddCookie を通じてそれを設定します。 () メソッド user という名前の値 123 の Cookie が作成されます。

Get Cookie:

Golang リクエストでは、Request オブジェクトを通じて Cookie を取得できます。一部のビジネス ロジック操作を実行する場合、リンク リクエスト ヘッダーから Cookie を取得して Web サイト情報を取得する必要があります。

サンプル コード:

func getCookie() {
    url := "https://www.example.com/home"
    req, err := http.NewRequest("GET", url, nil)
    if err != nil {
        log.Fatalln(err)
    }
    cli := http.Client{}
    resp, err := cli.Do(req)
    if err != nil {
        log.Fatalln(err)
    }
    defer resp.Body.Close()
    cookies := resp.Cookies()
    for _, c := range cookies {
        fmt.Printf("cookieName=%s; cookieValue=%s\n", c.Name, c.Value)
    }
}

この例では、まず GET リクエストのリクエスト本文を構築し、次に resp.Cookies() メソッドを呼び出して応答本文内の Cookie を取得します。最後に追加 取得したCookieをコンソールに出力します。

概要:

上記のサンプル コードを通じて、Golang で Cookie をリクエストする操作が非常に簡単であることがわかります。 Request オブジェクトを設定するか、リクエスト ヘッダーを構築することで、Cookie を設定および取得できます。実際の開発では、これらのテクニックから学び、より複雑なビジネス ロジック操作を実装できます。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。