Heim >Backend-Entwicklung >Golang >## Wie richtet man Proxy-Unterstützung in Go-HTTP-Clients mit benutzerdefinierten Transporten ein?
Verwenden eines Proxys in Go-Programmen mit benutzerdefinierten Transporten
Beim Erstellen von HTTP-Clients in Go ist es häufig erforderlich, einen zu verarbeitenden benutzerdefinierten Transport anzugeben spezifische Netzwerkeinstellungen. Der Standard-HTTP-Client berücksichtigt jedoch nicht automatisch die Proxy-Umgebungsvariablen.
Verwenden von http.ProxyFromEnvironment
Um die Proxy-Unterstützung in Ihren Go-Programmen zu aktivieren, können Sie Folgendes verwenden: die http.ProxyFromEnvironment-Methode. Diese Methode gibt eine Proxy-URL basierend auf den Umgebungsvariablen HTTP_PROXY, HTTPS_PROXY und NO_PROXY zurück.
<code class="go">var PTransport = &http.Transport{ Proxy: http.ProxyFromEnvironment, } client := http.Client{ Transport: PTransport, }</code>
Beispielverwendung
Um zu testen, ob dieser Ansatz funktioniert, können Sie Folgendes tun Legen Sie die Proxy-Umgebungsvariablen manuell fest:
export http_proxy='http://user:password@proxy-server:3128' export https_proxy='http://user:password@proxy-server:3128' export HTTP_PROXY='http://user:password@proxy-server:3128' export HTTPS_PROXY='http://user:password@proxy-server:3128'
Jetzt können Sie einen HTTP-Client erstellen und eine Anfrage senden:
<code class="go">req, _ := http.NewRequest("GET", "https://jsonplaceholder.typicode.com/todos/1", nil) req.Header.Add("If-None-Match", `some value`) resp, _ := client.Do(req)</code>
Wenn die Proxy-Einstellungen korrekt sind, erfolgt die Antwort von der Fernbedienung Server sollte angezeigt werden.
Das obige ist der detaillierte Inhalt von## Wie richtet man Proxy-Unterstützung in Go-HTTP-Clients mit benutzerdefinierten Transporten ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!