cURL と同様に、Cookie を保持しながら Go クライアントが HTTP リダイレクトに従うようにするにはどうすればよいですか?
Go: Cookie 支援リダイレクトの処理
HTTP リクエストが Cookie を伴う 302 リダイレクトをトリガーすると、Go クライアントが新しいリダイレクトに確実に従うことが困難になる可能性があります。 Cookie を保持したまま位置情報を取得します。この記事では、人気のあるコマンドライン ツールである cURL からインスピレーションを借りて、この課題の解決策を検討します。
問題ステートメント
Go では、HTTP リダイレクトに従うようにクライアントを構成するにはどうすればよいですか? cURL の設定と同様に、受信した Cookie を保持しますか?
解決策
Go モジュール net/http/cookiejar をプロジェクトに導入します。このパッケージは、効果的な Cookie 処理機能を提供します。その使用法を示す例を次に示します。
package main import ( "golang.org/x/net/publicsuffix" "io/ioutil" "log" "net/http" "net/http/cookiejar" ) func main() { // Create a CookieJar with customizable options. options := cookiejar.Options{ PublicSuffixList: publicsuffix.List, } jar, err := cookiejar.New(&options) if err != nil { log.Fatal(err) } // Instantiate an HTTP Client with the CookieJar attached. client := http.Client{Jar: jar} // Execute an HTTP request that includes a cookie. 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) } // Print the response body, which ideally contains unique information set by the PHP script on the server. log.Println(string(data)) }
このソリューションは、CookieJar を利用してリクエスト間で Cookie を保存および送信することにより、cURL の機能をエミュレートします。クライアントが Cookie による 302 リダイレクトに遭遇すると、Cookie ベースのセッションを維持しながら、自動的に新しい場所をたどります。
以上がcURL と同様に、Cookie を保持しながら Go クライアントが HTTP リダイレクトに従うようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Go Language Packのインポート:アンダースコアとアンダースコアなしの違いは何ですか?

MySQLクエリ結果リストをGO言語のカスタム構造スライスに変換する方法は?

GOのジェネリックのカスタムタイプ制約を定義するにはどうすればよいですか?

GOでテスト用のモックオブジェクトとスタブを書くにはどうすればよいですか?

トレースツールを使用して、GOアプリケーションの実行フローを理解するにはどうすればよいですか?
