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