私はhttpのリクエストを行うためにgoのhttpパッケージを使用しています。 Ubuntu Linuxにいくつかのインターフェイスがある場合、特定のインターフェイスまたはIPアドレスを使用して要求を実行するには、どうすればgoのhttpクライアントを設定できますか?ゴランのhttp要求にネットワークインターフェイスを指定してください
デフォルトのHTTPクライアントは、どのインターフェイスを使用するかをどのように決定しますか?
私はhttpのリクエストを行うためにgoのhttpパッケージを使用しています。 Ubuntu Linuxにいくつかのインターフェイスがある場合、特定のインターフェイスまたはIPアドレスを使用して要求を実行するには、どうすればgoのhttpクライアントを設定できますか?ゴランのhttp要求にネットワークインターフェイスを指定してください
デフォルトのHTTPクライアントは、どのインターフェイスを使用するかをどのように決定しますか?
ゴーのhttp.Client
は、http.RoundTripper
を使用してリクエストします。これには、net.Dialer
を使用してアウトバウンドネットワーク接続を確立します。 net.Dialer
には、接続が行われるローカルアドレスを指定するフィールドLocalAddr
があります。独自のClient
をご自身のRoundTripper
と一緒にご自身のnet.Dialer
と一緒に使用し、LocalAddr
を使用してください。ドキュメントからリンクされているstdlibコードでこれらのインスタンスがそれぞれどのようにインスタンス化されているかを確認し、必要に応じてデフォルトの動作を維持してデフォルトのインスタンスを作成し、LocalAddr
をオーバーライドします。
Linuxでは、通常はインターフェイスにバインドしません。バインドするIPアドレスを選択し、ルーティング中にインターフェイスが選択されることに注意してください。 – JimB