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 サイトの他の関連記事を参照してください。