ホームページ >バックエンド開発 >Golang >Go で HTTP リクエストの送信元 IP アドレスをカスタマイズするにはどうすればよいですか?

Go で HTTP リクエストの送信元 IP アドレスをカスタマイズするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-26 05:33:53543ブラウズ

How to Customize the Source IP Address for HTTP Requests in Go?

HTTP リクエストの IP ソースのカスタマイズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。