Heim >Backend-Entwicklung >Golang >Wie kann ich die Quell-IP-Adresse für HTTP-Anfragen in Go anpassen?

Wie kann ich die Quell-IP-Adresse für HTTP-Anfragen in Go anpassen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-26 05:33:53550Durchsuche

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

IP-Quelle für HTTP-Anfragen anpassen

In Situationen, in denen Sie die Verwendung Ihrer primären IP-Adresse für HTTP-Anfragen lieber vermeiden möchten, bietet Go eine Möglichkeit, die Quelladresse anzugeben.

Um dies zu erreichen, können Sie im Transport des Kunden einen benutzerdefinierten Dialer erstellen. Dies wird wie folgt erreicht:

// 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,
}

Durch Festlegen des LocalAddr-Felds des Dialers können Sie die Quell-IP-Adresse angeben, die für HTTP-Anfragen des Clients verwendet werden soll.

Das obige ist der detaillierte Inhalt vonWie kann ich die Quell-IP-Adresse für HTTP-Anfragen in Go anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn