Golang を使用して HTTP 応答を処理するにはどうすればよいですか?

WBOY
リリース: 2024-06-05 13:30:03
オリジナル
698 人が閲覧しました

net/http パッケージを使用して、Golang で HTTP 応答ステップを処理します。 応答を解析します。 http.Response タイプを使用して、応答情報を取得します。ステータス コードの取得: StatusCode フィールドを使用して、応答ステータス コードを取得します。ヘッダーの取得: ヘッダー フィールドを使用して、応答ヘッダー (map[string][]string) を取得します。応答本文を読み取る: Body フィールド (io.Reader) を使用して応答本文を読み取ります。実践的な例: JSON API を使用して応答を取得し、JSON を解析して投稿のタイトルを出力します。

如何使用 Golang 处理 HTTP 响应?

Golangを使用してHTTPレスポンスを処理する方法

HTTPリクエストを送信すると、サーバーはレスポンスを返します。この応答には、リクエストのステータスとリクエストの内容 (存在する場合) に関する情報が含まれています。 Golang では、net/http パッケージを使用して HTTP 応答を処理できます。 net/http 包来处理 HTTP 响应。

解析响应

要解析 HTTP 响应,可以使用 http.Response 类型。此类型包含有关响应的信息,包括状态代码、标头和响应正文。以下是如何解析响应:

resp, err := http.Get("https://example.com")
if err != nil {
    // 处理错误
}
defer resp.Body.Close()
ログイン後にコピー

获取状态代码

要获取响应的状态代码,可以使用 StatusCode 字段:

statusCode := resp.StatusCode
ログイン後にコピー

获取标头

要获取响应标头,可以使用 Header 字段:

header := resp.Header
ログイン後にコピー

Header 字段是一个 map[string][]string,其中键是标头名称,值是标头值列表。

读取响应正文

要读取响应正文,可以使用 Body 字段:

body, err := ioutil.ReadAll(resp.Body)
if err != nil {
    // 处理错误
}
ログイン後にコピー

Body 字段是 io.Reader

レスポンスを解析する

HTTP レスポンスを解析するには、http.Response タイプを使用できます。このタイプには、ステータス コード、ヘッダー、応答本文などの応答に関する情報が含まれます。レスポンスを解析する方法は次のとおりです:

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

type Post struct {
ログイン後にコピー
🎜ステータス コードを取得します 🎜🎜🎜 レスポンスのステータス コードを取得するには、StatusCode フィールドを使用できます: 🎜rrreee🎜🎜 ヘッダーを取得します 🎜🎜🎜応答ヘッダーを取得するには、 Header フィールドを使用できます: 🎜rrreee🎜Header フィールドは map[string][]string です。キーはヘッダー名で、値はヘッダー値のリストです。 🎜🎜🎜応答本文を読み取る🎜🎜🎜応答本文を読み取るには、Body フィールドを使用できます: 🎜rrreee🎜 Body フィールドは io.Reader から応答本文を読み取ることができます。 🎜🎜🎜実践的なケース: JSON API の使用🎜🎜🎜以下は、Golang を使用して JSON API 応答を取得する方法を示す実践的なケースです: 🎜rrreee

以上がGolang を使用して HTTP 応答を処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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