Con go-ieproxy ya disponible y el transporte predeterminado estándar aún instalado, adjunte su función de proxy consciente de la solicitud:

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

Importe net/http, time y github.com/mattn/go-ieproxy, y realice las solicitudes de la carga de trabajo a través de client. La aserción de tipo exige que DefaultTransport siga siendo un http.Transport.

GetProxyFunc cubre la configuración estática, un script explícito de configuración automática y el descubrimiento totalmente automático. Su búsqueda en Windows usa la configuración del usuario actual y recurre al registro si falla la primera llamada a la API.

OverrideEnvWithStaticProxy toma otra decisión: exporta la configuración manual y no puede conservar las decisiones automáticas por destino. Use esa conversión solo para una política deliberadamente estática.

En un servicio de Windows, el usuario actual puede diferir del usuario de escritorio cuyo navegador funciona. Compruebe la cuenta de servicio y el destino real al comparar el resultado. El descubrimiento ofrece un candidato de ruta, no autenticación ni garantía de que el punto final sea accesible.

Artículos relacionados