Wenn go-ieproxy bereits verfügbar ist und der standardmäßige Transport noch installiert ist, hängen Sie seine anfrageabhängige Proxyfunktion an:

transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = ieproxy.GetProxyFunc()
client := &http.Client{
    Transport: transport,
    Timeout: 30 * time.Second,
}

Importieren Sie net/http, time und github.com/mattn/go-ieproxy und leiten Sie die Anfragen der Arbeitslast über client. Die Typzusicherung setzt voraus, dass DefaultTransport ein http.Transport bleibt.

GetProxyFunc deckt statische Einstellungen, ein explizites Skript zur automatischen Konfiguration und die vollautomatische Erkennung ab. Die Windows-Suche nutzt die Konfiguration des aktuellen Benutzers und greift auf die Registrierung zurück, wenn der erste API-Aufruf fehlschlägt.

OverrideEnvWithStaticProxy trifft eine andere Wahl: Es exportiert manuelle Einstellungen und kann automatische Entscheidungen pro Ziel nicht bewahren. Nutzen Sie diese Umwandlung nur für eine bewusst statische Richtlinie.

Bei einem Windows-Dienst kann der aktuelle Benutzer von dem Desktopbenutzer abweichen, dessen Browser funktioniert. Prüfen Sie das Dienstkonto und das tatsächliche Ziel, wenn Sie das Ergebnis vergleichen. Die Erkennung liefert einen Routenkandidaten, keine Authentifizierung und keine Zusage, dass der Endpunkt erreichbar ist.

Ähnliche Artikel