Gebruik go-ieproxy voor proxyselectie per URL in Windows
Gebruik go-ieproxy.GetProxyFunc op een eigen transport in plaats van het automatische Windows-beleid plat te slaan naar statische omgevingswaarden.
Nu go-ieproxy al beschikbaar is en het standaardtransport nog is geïnstalleerd, koppelt u de verzoekbewuste proxyfunctie aan:
transport := http.DefaultTransport.(*http.Transport).Clone()
transport.Proxy = ieproxy.GetProxyFunc()
client := &http.Client{
Transport: transport,
Timeout: 30 * time.Second,
}Importeer net/http, time en github.com/mattn/go-ieproxy, en laat de verzoeken van de workload via client lopen. De type-assertie vereist dat DefaultTransport een http.Transport blijft.
GetProxyFunc dekt statische instellingen, een expliciet script voor automatische configuratie en volledig automatische detectie. De Windows-opzoeking gebruikt de configuratie van de huidige gebruiker en valt terug op het register als de eerste API-aanroep mislukt.
OverrideEnvWithStaticProxy maakt een andere keuze: het exporteert handmatige instellingen en kan automatische beslissingen per bestemming niet behouden. Gebruik die conversie alleen voor een bewust statisch beleid.
Voor een Windows-service kan de huidige gebruiker verschillen van de bureaubladgebruiker wiens browser werkt.Controleer het serviceaccount en de werkelijke bestemming bij het vergelijken van het resultaat. Detectie levert een routekandidaat, geen authenticatie of een garantie dat het eindpunt bereikbaar is.