ホームページ > バックエンド開発 > Golang > Go で Cookie を使用して HTTP POST リクエストを処理する方法

Go で Cookie を使用して HTTP POST リクエストを処理する方法

Patricia Arquette
リリース: 2024-12-27 22:01:11
オリジナル
243 人が閲覧しました

How to Handle HTTP POST Requests with Cookies in Go?

Go: Cookie を使用した HTTP Post

Go では、Go 1.1 で導入された cookiejar パッケージを使用して HTTP リクエストの Cookie を管理できます。 CookieJar を作成し、それを HTTP クライアントに関連付けることで、Cookie を自動的に保存し、後続のリクエストのために取得することができます。

サンプル コード

これは、Web サイトにログインし、

package main

import (
    "fmt"
    "net/http"
    "net/http/cookiejar"
    "net/url"
)

func main() {
    // Create a new cookie jar.
    jar, err := cookiejar.New(nil)
    if err != nil {
        panic(err)
    }

    // Create an HTTP client that uses the cookie jar.
    client := &http.Client{
        Jar: jar,
    }

    // Login to the website.
    loginPostUrl := "http://www.example.com/login"
    values := url.Values{}
    values.Set("username", "my_username")
    values.Set("password", "my_password")
    resp, err := client.PostForm(loginPostUrl, values)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    // View the user's bill.
    viewBillUrl := "http://www.example.com/my/bill"
    resp, err = client.Get(viewBillUrl)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    // Read the bill's contents.
    billContents, err := resp.Body.ReadString('\n')
    if err != nil {
        panic(err)
    }

    fmt.Println(billContents)
}
ログイン後にコピー

この例では、返された Cookie を自動的に保存するために CookieJar が使用されます。ログイン要求によって。これらの Cookie は、/my/bill ページへの後続のリクエストを承認するために使用されます。

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

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