net/http.Request 関数を使用して、カスタマイズされた HTTP 要求を送信し、応答ステータス コードと応答ヘッダーを取得します。
HTTP 要求は、最新のネットワーク通信において非常に一般的で重要な通信プロトコルです。 Go 言語では、net/http パッケージの Request 関数を使用して HTTP リクエストを送信し、リクエストのさまざまな部分をカスタマイズできます。この記事では、Request関数を使ってHTTPリクエストを送信し、レスポンスのステータスコードとレスポンスヘッダを取得する方法を紹介します。
最初に、Request 関数を使用するために net/http パッケージをインポートする必要があります:
import ( "net/http" "fmt" )
次に、Request 関数を使用して HTTP リクエストを送信できます。 Request 関数は、リクエスト メソッド、URL、リクエスト ヘッダー、リクエスト本文など、リクエストのさまざまな部分を定義する Request オブジェクトであるパラメータを受け取ります。 Request オブジェクトを作成し、対応するプロパティを設定することで、リクエストをカスタマイズできます。
以下は GET リクエストの送信例です:
func main() { // 创建Request对象 req, err := http.NewRequest("GET", "http://www.example.com", nil) if err != nil { fmt.Println("创建请求失败:", err) return } // 发送HTTP请求 client := &http.Client{} res, err := client.Do(req) if err != nil { fmt.Println("发送请求失败:", err) return } // 获取响应状态码 fmt.Println("状态码:", res.StatusCode) // 获取响应头 for key, value := range res.Header { fmt.Println(key, ":", value) } }
上の例では、http.NewRequest 関数を呼び出して GET リクエストの Request オブジェクトを作成します。パラメータ「GET」はリクエストメソッドを示し、「http://www.example.com」はリクエストURLを示し、nilはリクエストボディが空であることを示します。次に、 client.Do(req) を呼び出してリクエストを送信し、返された応答を res 変数に保存します。
次に、res.StatusCode を呼び出して応答ステータス コードを取得できます。リクエストが成功した場合、ステータス コードは通常 200 ですが、リダイレクト、サーバー エラー、その他の状況では、ステータス コードは異なる値になります。
最後に、res.Header を走査して応答ヘッダー情報を取得します。応答ヘッダーはマップであり、キーは応答ヘッダー フィールドの名前を表し、値は対応する値を表します。必要に応じて応答ヘッダーを処理できます。
GET リクエストに加えて、POST、PUT、DELETE などの他のタイプのリクエストも送信できます。 Request オブジェクトの作成時に、対応するリクエスト メソッドを設定するだけです。
net/http パッケージの Request 関数を使用すると、さまざまな種類の HTTP リクエストを柔軟に送信し、応答のステータス コードと応答ヘッダを取得できます。これにより、ネットワーク通信の自由度と柔軟性がさらに高まります。この記事の内容が読者のお役に立てれば幸いです。
以上がnet/http.Request 関数を使用して、カスタマイズされた HTTP リクエストを送信し、応答ステータス コードと応答ヘッダーを取得します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。