http.Client 関数を使用して、カスタマイズされた HTTP リクエストを送信し、応答ステータス コードと応答コンテンツを取得し、タイムアウト期間を設定します
Go 言語では、net/http## を使用できます。 # HTTP リクエストを送信して応答を取得するためのパッケージ。その中で、
http.Client タイプを使用して、カスタマイズされた HTTP リクエストを送信し、タイムアウトを設定できます。
HTTP クライアントの作成まず、HTTP リクエストを送信するための
http.Client 型のオブジェクトを作成する必要があります。プロキシ、TLS 構成などの HTTP 送信関連のパラメータは、
Transport フィールドを設定することで設定できます。デフォルトでは、
http.DefaultTransport オブジェクトはリクエストの送信に使用され、
http.DefaultClient オブジェクトは使用されます。
client := &http.Client{ Timeout: time.Second * 10, }
client を作成し、タイムアウトを 10 秒に設定します。 。
HTTP リクエストの送信HTTP リクエストを送信するには、
http.Client オブジェクトを使用します。
http.NewRequest 関数を使用できます。新しい ##http.Request
オブジェクトを作成し、http.Client
の Do
メソッドを使用してリクエストを送信し、応答を取得します。 以下は、HTTP リクエストを送信するためのコード例です:
req, err := http.NewRequest("GET", "https://example.com", nil) if err != nil { log.Fatal(err) } resp, err := client.Do(req) if err != nil { log.Fatal(err) } defer resp.Body.Close()
上記のコードでは、ターゲット URL が
https://example.com である GET リクエストを作成します。 。次に、client.Do(req)
メソッドを使用してリクエストを送信し、応答として resp
オブジェクトを取得します。
resp.StatusCode
フィールドを使用して、HTTP 応答のステータス コードを取得できます。 を使用します。 ioutil.ReadAll
応答内容を読み取る関数。 以下は、応答ステータス コードと内容を取得するサンプル コードです。
statusCode := resp.StatusCode body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal(err) }
上記のコードでは、
resp.StatusCode を使用して応答ステータス コードを取得します。 、 ioutil.ReadAll
関数を使用して応答コンテンツを読み取り、body
変数に保存します。
次は、http.Client
を使用してカスタマイズされた HTTP リクエストを送信し、応答ステータス コードと応答ステータス コードを取得する方法を示す完全な例です。コンテンツとタイムアウトの設定: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>package main
import (
"fmt"
"io/ioutil"
"log"
"net/http"
"time"
)
func main() {
client := &http.Client{
Timeout: time.Second * 10,
}
req, err := http.NewRequest("GET", "https://example.com", nil)
if err != nil {
log.Fatal(err)
}
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
statusCode := resp.StatusCode
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
fmt.Println("Response status code:", statusCode)
fmt.Println("Response body:", string(body))
}</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記のコードでは、HTTP クライアント オブジェクト </p>client<p> を作成し、タイムアウトを 10 秒に設定しました。次に、GET リクエストを送信して応答ステータス コードとコンテンツを取得し、出力を出力します。 <code>
を使用してカスタマイズされた HTTP リクエストを送信し、タイムアウトを設定すると、HTTP リクエストをより柔軟に送信し、ステータス コードと応答の内容に基づいて適切に処理できます。
以上がhttp.Client 関数を使用して、カスタマイズされた HTTP リクエストを送信し、応答ステータス コードと応答コンテンツを取得し、タイムアウトを設定します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。