Go の cookiejar を利用して Cookie によるリダイレクトを追跡する
HTTP リクエストの結果が 302 リダイレクトになる場合、後続のリクエストのサーバー。 Go では、これは cookiejar パッケージを通じて実現でき、Cookie を保持しながらリダイレクトに自動的に従う便利な方法を提供します。
このシナリオの目標は、次の設定で CURL の動作をエミュレートすることです。
cookiejar を使用した実装
Go 1.1 では、これらのタスクをシームレスに処理するために net/http/cookiejar パッケージを使用できます。その使用法を示すコード サンプルを次に示します。
<code class="go">package main import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { // Configure the cookie jar. options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } // Create an HTTP client with the cookie jar. client := http.Client{Jar: jar} // Make the request. resp, err := client.Get("http://dubbelboer.com/302cookie.php") if err != nil { log.Fatal(err) } // Read the response body. data, err := ioutil.ReadAll(resp.Body) resp.Body.Close() if err != nil { log.Fatal(err) } // Log the response. log.Println(string(data)) }</code>
この例では、Cookie jar はパブリック サフィックス リストに従うように構成され、ドメインベースの Cookie が適切に処理されるようにします。クライアントは jar を使用して作成され、指定された URL に対して GET リクエストが行われます。応答本文が読み取られてログに記録され、Cookie jar がリダイレクトを効果的に処理し、Cookie を保存していることがわかります。
以上がGo の CookieJar を使用して、Cookie を保存しながらリダイレクトを追跡するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。