Como o go-ieproxy já está disponível e o transporte padrão predefinido ainda está instalado, anexe a sua função de proxy ciente do pedido:

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

Importe net/http, time e github.com/mattn/go-ieproxy, e faça os pedidos da carga de trabalho através de client. A asserção de tipo exige que DefaultTransport permaneça um http.Transport.

GetProxyFunc cobre definições estáticas, um script explícito de configuração automática e a descoberta totalmente automática. A sua pesquisa no Windows usa a configuração do utilizador atual e recorre ao registo se a primeira chamada à API falhar.

OverrideEnvWithStaticProxy faz uma escolha diferente: exporta definições manuais e não consegue preservar decisões automáticas por destino. Use essa conversão apenas para uma política deliberadamente estática.

Num serviço Windows, o utilizador atual pode ser diferente do utilizador do ambiente de trabalho cujo navegador funciona.Verifique a conta de serviço e o destino real ao comparar o resultado. A descoberta fornece um candidato de rota, não autenticação nem garantia de que o ponto final seja acessível.

Artigos relacionados