http.Client および http.Transport を使用したリクエストのヘッダーの設定
複数の使用可能な IP アドレスを使用して HTTP リクエストを行う場合は、以下を行う必要があります。送信接続に必要な IP を指定します。これは、http.Client 構造体と http.Transport 構造体を使用して実行できます。
特定の IP を使用した Dialer の作成
まず、net.Dialer インスタンスを作成し、 LocalAddr フィールドを目的の IP アドレスに置き換えます。コードには次の内容があります:
<code class="go">tcpAddr := &net.TCPAddr{ IP: addrs[3].(*net.IPNet).IP, // Choosing ip address number 3 } d := net.Dialer{LocalAddr: tcpAddr}</code>
http.Transport のカスタマイズ
次に、http.Transport インスタンスを作成し、その Dial フィールドをカスタム ダイヤラーで構成します。 :
<code class="go">transport := &http.Transport{ Dial: (&net.Dialer{LocalAddr: tcpAddr}).Dial, TLSHandshakeTimeout: 10 * time.Second, }</code>
http.Client の作成
最後に、http.Client インスタンスを作成し、その Transport フィールドをカスタマイズされたトランスポートに設定します:
<code class="go">client := &http.Client{ Transport: transport, }</code>
リクエスト ヘッダーの設定
特定のリクエストのヘッダーを設定するには、http.Request オブジェクトを作成し、その Header フィールドで Set メソッドを使用する必要があります。
<code class="go">req, err := http.NewRequest("GET", "https://www.whatismyip.com/", nil) if err != nil { // Handle error } req.Header.Set("name", "value")</code>
構成されたクライアントの使用
ヘッダーを設定したら、クライアント インスタンスの Do メソッドを使用してリクエストを実行できます:
<code class="go">resp, err := client.Do(req) if err != nil { // Handle error } // Handle the response</code>
次の手順に従うことで、発信接続に特定の IP アドレスを使用しながら、HTTP リクエストのヘッダーを設定できます。
以上がHTTP リクエストのヘッダーを設定し、http.Client および http.Transport で特定の IP アドレスを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。