Poiché go-ieproxy è già disponibile e il transport predefinito standard è ancora installato, collegate la sua funzione proxy consapevole della richiesta:

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

Importate net/http, time e github.com/mattn/go-ieproxy e fate passare le richieste del carico di lavoro attraverso client. L'asserzione di tipo richiede che DefaultTransport rimanga un http.Transport.

GetProxyFunc copre impostazioni statiche, uno script esplicito di configurazione automatica e l'individuazione completamente automatica. La sua ricerca in Windows usa la configurazione dell'utente corrente e ripiega sul registro se la prima chiamata API non riesce.

OverrideEnvWithStaticProxy fa una scelta diversa: esporta impostazioni manuali e non può preservare le decisioni automatiche per destinazione. Usate quella conversione solo per criteri deliberatamente statici.

Per un servizio Windows, l'utente corrente può essere diverso dall'utente desktop il cui browser funziona. Controllate l'account del servizio e la destinazione effettiva quando confrontate il risultato. L'individuazione fornisce un candidato di percorso, non l'autenticazione né la garanzia che l'endpoint sia raggiungibile.

Articoli correlati