Verwendung eines Proxys im benutzerdefinierten Transport: Go Programmatic Solution
In Go verwendet der http.Client standardmäßig die Proxy-Einstellungen des Systems als in Umgebungsvariablen wie HTTP_PROXY und HTTPS_PROXY konfiguriert. Dieses Verhalten erstreckt sich jedoch möglicherweise nicht auf benutzerdefinierte Transporte.
Verwenden von http.ProxyFromEnvironment zum Festlegen eines Proxys
Um einen Proxy für einen benutzerdefinierten Transport programmgesteuert zu konfigurieren, können Sie die verwenden http.ProxyFromEnvironment-Methode. Diese Methode gibt eine Proxy-URL basierend auf den Umgebungsvariablen zurück, wobei HTTPS_PROXY Vorrang für HTTPS-Anfragen hat.
<code class="go">import ( "log" "net/http" "os" ) func main() { // Get proxy URL from environment variables proxyURL := http.ProxyFromEnvironment(os.Getenv) // Create a custom transport transport := &http.Transport{ TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, Proxy: proxyURL, } // Create a client with the custom transport client := &http.Client{Transport: transport} // Send a request through the proxy resp, err := client.Get("https://example.com") if err != nil { log.Fatal("Error making request:", err) } // Read the response body defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { log.Fatal("Error reading response:", err) } // Print the response body fmt.Println(string(body)) }</code>
Dieses Codefragment zeigt die Verwendung von http.ProxyFromEnvironment zum Festlegen des Proxys für einen benutzerdefinierten Transport. Durch die Verwendung von Umgebungsvariablen zum Konfigurieren der Proxy-Einstellungen können Sie problemlos zwischen verschiedenen Proxy-Konfigurationen wechseln, ohne den Code zu ändern.
Das obige ist der detaillierte Inhalt vonWie konfiguriere ich programmgesteuert einen Proxy für einen benutzerdefinierten Transport in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!