Utilizando proxies con net/http en GO
Estoy tratando de usar proxies con el paquete net/http. Mi proxy es un proxy rotativo con un nombre de usuario, contraseña, dirección de proxy y un puerto.
Intenté configurarlo como una variable de entorno usando os.setEnv() así como agregándolo en mis variables de entorno de Windows 10, pero resulta que tal vez Windows no admite proxies autenticados por usuario y contraseña.
También intenté el método de transporte http pero no pude hacer que funcionara.
go
func SetProxy() *http.Client {
cfg := GetConfig()
if cfg.UseProxy {
proxyUrl, err := url.Parse(“http://” + cfg.Proxy)
if err != nil {
panic(err)
}
myClient := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyUrl)}}
return myClient
}
return &http.Client{}
}
¡Por favor, si alguien pudiera señalarme un tutorial o alguna documentación para usar proxies específicamente con autenticación de usuario y contraseña!
Nota: Usé este formato en todas partes: nombredeusuario:contraseña@direcciondeproxy:puerto.
davy.ai
Puede utilizar la opción “ProxyAuth” en la estructura “http.Transport” para establecer las credenciales de autenticación del proxy. El siguiente ejemplo muestra cómo establecer un proxy con nombre de usuario y contraseña:
Puede encontrar más información sobre la opción “ProxyAuth” en la documentación de Go.