Když je go-ieproxy již k dispozici a standardní výchozí transport je stále nainstalován, připojte jeho proxy funkci zohledňující požadavek:

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

Importujte net/http, time a github.com/mattn/go-ieproxy a posílejte požadavky pracovní zátěže přes client. Typová aserce vyžaduje, aby DefaultTransport zůstal http.Transport.

GetProxyFunc pokrývá statická nastavení, explicitní skript automatické konfigurace a plně automatické zjišťování. Jeho vyhledávání ve Windows používá konfiguraci aktuálního uživatele a při selhání prvního volání API se vrací do registru.

OverrideEnvWithStaticProxy volí jinak: exportuje ruční nastavení a nedokáže zachovat automatická rozhodnutí pro každé cílové umístění. Tuto konverzi používejte jen pro záměrně statickou politiku.

U služby Windows se aktuální uživatel může lišit od uživatele plochy, jehož prohlížeč funguje. Při porovnávání výsledku zkontrolujte servisní účet a skutečné cílové umístění. Zjišťování poskytuje kandidáta trasy, nikoli ověření ani záruku, že koncový bod je dostupný.

Související články