Comme go-ieproxy est déjà disponible et que le transport par défaut standard est toujours installé, attachez sa fonction de proxy sensible à la requête :

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

Importez net/http, time et github.com/mattn/go-ieproxy, puis faites passer les requêtes de la charge de travail par client. L'assertion de type exige que DefaultTransport reste un http.Transport.

GetProxyFunc couvre les paramètres statiques, un script de configuration automatique explicite et la découverte entièrement automatique. Sa recherche Windows utilise la configuration de l'utilisateur actuel et se rabat sur le registre si le premier appel d'API échoue.

OverrideEnvWithStaticProxy fait un autre choix : il exporte des paramètres manuels et ne peut pas préserver les décisions automatiques par destination. N'utilisez cette conversion que pour une stratégie délibérément statique.

Pour un service Windows, l'utilisateur actuel peut différer de l'utilisateur du bureau dont le navigateur fonctionne. Vérifiez le compte de service et la destination réelle lorsque vous comparez le résultat. La découverte fournit un candidat de route, pas une authentification ni la garantie que le point de terminaison est joignable.

Articles similaires