


Wie kann ich in Go eine benutzerdefinierte Quell-IP-Adresse für HTTP-Anfragen angeben?
Dec 17, 2024 pm 05:56 PMIP-Auswahl für HTTP-Anfragen anpassen
Die Standardbibliothek für HTTP-Anfragen in Go gibt die für ausgehende Anfragen verwendete Quell-IP-Adresse nicht explizit an . Dies wirft die Frage auf: Können wir die IP-Adresse für solche Anfragen manuell angeben?
Lösung
Ja, wir können im Transport des Clients einen benutzerdefinierten Dialer festlegen, um das zu steuern IP-Adresse, die für HTTP-Anfragen verwendet wird. So geht's:
// Create a transport like http.DefaultTransport, but with a specified localAddr transport := &http.Transport{ Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ Timeout: 30 * time.Second, KeepAlive: 30 * time.Second, LocalAddr: localAddr, // Set the desired local address here DualStack: true, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } // Create an HTTP client with the custom transport client := &http.Client{ Transport: transport, }
Durch Zuweisen einer LocalAddr zum Dialer können Sie die Quell-IP-Adresse angeben, die für HTTP-Anfragen verwendet wird, die über diesen Client erfolgen. Dadurch können Sie die IP-Adresse steuern, die dem Zielserver angezeigt wird, und bieten so Flexibilität bei der Verwaltung der IP-Reputation oder Routing-Überlegungen.
Das obige ist der detaillierte Inhalt vonWie kann ich in Go eine benutzerdefinierte Quell-IP-Adresse für HTTP-Anfragen angeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

GO Language Pack Import: Was ist der Unterschied zwischen Unterstrich und ohne Unterstrich?

Wie schreibe ich Scheinobjekte und Stubs zum Testen in Go?

Wie kann ich kurzfristige Informationsübertragung zwischen Seiten im BeEGO-Framework implementieren?

Wie kann ich Tracing -Tools verwenden, um den Ausführungsfluss meiner GO -Anwendungen zu verstehen?

Wie kann ich benutzerdefinierte Typ -Einschränkungen für Generika in Go definieren?

Wie konvertieren Sie die Liste der MySQL -Abfrageergebnisse in eine benutzerdefinierte Struktur -Slice in Go -Sprache?

Wie schreibe ich Dateien in Go Language bequem?

Wie kann ich Linter und statische Analyse -Tools verwenden, um die Qualität und Wartbarkeit meines GO -Codes zu verbessern?
