golang クッキーリクエスト
Golang で HTTP リクエストを行う場合、通常は Cookie などの認証情報を使用する必要があり、さらに Cookie を取得する必要があります。この記事では、Golang を使用して Cookie を含む HTTP リクエストを開始し、後で使用できるように Cookie を変数に保存する方法を紹介します。
HTTP と Cookie の概要
HTTP (ハイパーテキスト転送プロトコル) は、クライアントとサーバー間のデータ転送を可能にするプロトコルです。クライアントがリクエストを送信すると、サーバーは応答を返し、リクエストされたリソースを提供します。 HTTPリクエストは主に以下の部分で構成されます。
- HTTPメソッド(GET、POST、PUT、DELETEなど)
- URL
- リクエストヘッダ(リクエストヘッダ情報) 、ユーザー エージェント、言語、コンテンツ タイプなどが含まれます。)
- リクエスト本文 (オプション、POST または PUT メソッドに適用可能)
そして、応答には通常、次の部分が含まれます:
- ステータス コード (200 OK、404 Not Found など)
- レスポンス ヘッダー (サーバー タイプ、時刻、コンテンツ タイプなどを含むレスポンス ヘッダー情報)
- レスポンスボディ (レスポンスコンテンツ)
HTTP ヘッダーには Cookie を含めることができます。Cookie は通常、認証やユーザー情報の記憶などに使用されます。 Cookie はクライアントのブラウザに保存され、訪問したサイトに関するデータが含まれています。 HTTP リクエストを行う際に身元を確認する必要がある場合は、通常、Cookie を介して認証情報を渡す必要があります。
Golang は Cookie リクエストを開始します
Golang では、標準ライブラリの net/http パッケージを使用して HTTP リクエストを開始できます。リクエストを行うときに HTTP ヘッダーの Cookie フィールドを設定することによって Cookie を渡すことも、Cookie パッケージを使用して Cookie を簡単に管理することもできます。
次は、net/http パッケージを使用してリクエストを開始し、Cookie を取得する簡単なサンプル コードです。
package main import ( "fmt" "net/http" ) func main() { // 创建请求客户端 client := &http.Client{} // 创建请求 req, err := http.NewRequest("GET", "https://example.com", nil) if err != nil { fmt.Println(err) return } // 发送请求并获取响应 resp, err := client.Do(req) if err != nil { fmt.Println(err) return } defer resp.Body.Close() // 获取 Cookie cookies := resp.Cookies() for _, cookie := range cookies { fmt.Printf("%s: %s ", cookie.Name, cookie.Value) } }
上記のコードはリクエスト クライアントを作成し、NewRequest メソッドを使用してGET リクエスト、およびリクエストを送信して応答を取得します。応答には Cookie コンテンツが含まれているため、 resp.Cookies() メソッドを使用して Cookie 情報を取得し、出力を繰り返し実行します。
通常、Cookie 情報を渡すには、リクエスト ヘッダーに Cookie フィールドを設定する必要があります。以下は、Cookie フィールドを設定してリクエストを開始する例です:
package main import ( "fmt" "net/http" ) func main() { // 创建请求 req, err := http.NewRequest("GET", "https://example.com", nil) if err != nil { fmt.Println(err) return } // 设置 Cookie cookie := &http.Cookie{Name: "name", Value: "value"} req.AddCookie(cookie) // 发起请求并获取响应 client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println(err) return } defer resp.Body.Close() // 获取响应内容 fmt.Println(resp.Status) }
上記のコードは、 GET リクエスト、そして req.AddCookie(cookie) メソッドを通じて Cookie を設定し、net/http パッケージの client.Do(req) メソッドを使用してリクエストを開始し、応答を取得し、応答ステータス コードを出力します。
Cookies パッケージ
Cookie フィールドと resp.Cookies() メソッドの設定に加えて、Cookie パッケージを使用して Cookie を簡単に管理および処理することもできます。このパッケージは、次の 2 つの構造を提供します。
- Cookie: HTTP Cookie を表します。
- Jar: Cookie コレクションを表します。
以下は、cookie パッケージを使用して Cookie を管理する例です。
package main import ( "fmt" "net/http" "net/http/cookiejar" ) func main() { // 创建 Cookie 集合 jar, err := cookiejar.New(nil) if err != nil { fmt.Println(err) return } // 创建请求客户端 client := &http.Client{ Jar: jar, } // 创建请求 req, err := http.NewRequest("GET", "https://example.com", nil) if err != nil { fmt.Println(err) return } // 发送请求并获取响应 resp, err := client.Do(req) if err != nil { fmt.Println(err) return } defer resp.Body.Close() // 打印 Cookie cookies := jar.Cookies(req.URL) for _, cookie := range cookies { fmt.Printf("%s: %s ", cookie.Name, cookie.Value) } }
上記のコードは、cookiejar パッケージを使用して CookieJar を作成し、それを要求元のクライアントに渡します。次に、URL と印刷出力を通じて Cookie を取得します。
結論
この記事では、Golang を使用して Cookie による HTTP リクエストを開始する方法を紹介します。上記の方法に加えて、ここでは紹介しませんが、GoRequest、gin Framework などのサードパーティ ライブラリを使用することもできます。実際の使用においては、状況に応じて最適な方法を選択する必要があります。
以上がgolang クッキーリクエストの詳細内容です。詳細については、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)

ホットトピック









OpenSSLは、安全な通信で広く使用されているオープンソースライブラリとして、暗号化アルゴリズム、キー、証明書管理機能を提供します。ただし、その歴史的バージョンにはいくつかの既知のセキュリティの脆弱性があり、その一部は非常に有害です。この記事では、Debian SystemsのOpenSSLの共通の脆弱性と対応測定に焦点を当てます。 Debianopensslの既知の脆弱性:OpenSSLは、次のようないくつかの深刻な脆弱性を経験しています。攻撃者は、この脆弱性を、暗号化キーなどを含む、サーバー上の不正な読み取りの敏感な情報に使用できます。

この記事では、プロファイリングの有効化、データの収集、CPUやメモリの問題などの一般的なボトルネックの識別など、GOパフォーマンスを分析するためにPPROFツールを使用する方法について説明します。

この記事では、GOでユニットテストを書くことで、ベストプラクティス、モッキングテクニック、効率的なテスト管理のためのツールについて説明します。

Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

この記事では、GOプログラミングのGo FMTコマンドについて説明します。これは、公式スタイルのガイドラインに準拠するためのコードをフォーマットします。コードの一貫性、読みやすさ、およびスタイルの議論を削減するためのGO FMTの重要性を強調しています。 Best Practices fo

この記事では、Debianシステムの下でPostgreSQLデータベースを監視するためのさまざまな方法とツールを紹介し、データベースのパフォーマンス監視を完全に把握するのに役立ちます。 1. PostgreSQLを使用して監視を監視するビューPostgreSQL自体は、データベースアクティビティを監視するための複数のビューを提供します。 PG_STAT_REPLICATION:特にストリームレプリケーションクラスターに適した複製ステータスを監視します。 PG_STAT_DATABASE:データベースサイズ、トランザクションコミット/ロールバック時間、その他のキーインジケーターなどのデータベース統計を提供します。 2。ログ分析ツールPGBADGを使用します

バックエンド学習パス:フロントエンドからバックエンドへの探査の旅は、フロントエンド開発から変わるバックエンド初心者として、すでにNodeJSの基盤を持っています...
