HTTP リクエストにプライマリ IP アドレスを使用したくない場合に、Go はソース アドレスを指定する方法を提供します。
これを実現するには、クライアントのトランスポート内にカスタム ダイヤラを作成できます。これは次のように実行されます。
// Create a transport based on http.DefaultTransport, but with a custom localAddr transport := &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, LocalAddr: localAddr, // Set the desired local IP address here DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } // Create an HTTP client using the custom transport client := &http.Client{ Transport: transport, }
Dialer の LocalAddr フィールドを設定することで、クライアントによって行われる HTTP リクエストに使用される送信元 IP アドレスを指定できます。
以上がGo で HTTP リクエストの送信元 IP アドレスをカスタマイズするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。