Amb go-ieproxy ja disponible i el transport predeterminat estàndard encara instal·lat, adjunteu la seva funció de proxy conscient de la petició:

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

Importeu net/http, time i github.com/mattn/go-ieproxy, i feu les peticions de la càrrega de treball a través de client. L'asserció de tipus requereix que DefaultTransport continuï sent un http.Transport.

GetProxyFunc cobreix la configuració estàtica, un script explícit de configuració automàtica i el descobriment totalment automàtic. La seva cerca a Windows utilitza la configuració de l'usuari actual i recorre al registre si la primera crida a l'API falla.

OverrideEnvWithStaticProxy fa una elecció diferent: exporta la configuració manual i no pot conservar les decisions automàtiques per destinació. Utilitzeu aquesta conversió només per a una política deliberadament estàtica.

Per a un servei de Windows, l'usuari actual pot diferir de l'usuari d'escriptori el navegador del qual funciona. Comproveu el compte de servei i la destinació real en comparar el resultat. El descobriment proporciona un candidat de ruta, no autenticació ni cap garantia que el punt final sigui accessible.

Articles relacionats