servidor requiere remoto net error autenticación c# .net proxy-authentication http-status-code-407 machine-config

c# - net - El servidor remoto devolvió un error:(407) Se requiere autenticación proxy.



error en el servidor remoto 407 se requiere autenticación del proxy c# (6)

Consulte con su experto en firewalls. Abren el firewall para los servidores PROD, por lo que no es necesario usar el Proxy.

Gracias su consejo me ayudó a resolver mi problema:

Tuvo que establecer las credenciales en dos ubicaciones para superar el error 407:

HttpWebRequest webRequest = WebRequest.Create(uirTradeStream) as HttpWebRequest; webRequest.Proxy = WebRequest.DefaultWebProxy; webRequest.Credentials = new NetworkCredential("user", "password", "domain"); webRequest.Proxy.Credentials = new NetworkCredential("user", "password", "domain");

¡y voilá!

Recibo este error cuando llamo a un servicio web:

"El servidor remoto devolvió un error: (407) Autenticación de proxy requerida".

Entiendo la idea general y puedo hacer que el código funcione al agregar

myProxy.Credentials = NetworkCredential("user", "password", "domain");

o usando DefaultCredentials en el código. Mi problema es que la llamada al servicio web funciona en producción sin esto.

Parece que hay una solución sin código que implica Machine.config, pero ¿qué es? Por el momento, no puedo acceder al archivo machine.config del cuadro de producción para ver cómo se ve. Traté de actualizar mi machine.config de la siguiente manera, pero sigo recibiendo el error 407.

<system.net> <defaultProxy enabled="true" useDefaultCredentials="true"> <bypasslist> <clear /> </bypasslist> <proxy proxyaddress="myproxy:9000" usesystemdefault="false" bypassonlocal="true" autoDetect="False" /> </defaultProxy> </system.net>


En el código siguiente, no necesitamos codificar las credenciales.

service.Proxy = WebRequest.DefaultWebProxy; service.Credentials = System.Net.CredentialCache.DefaultCredentials; ; service.Proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;


Probablemente la máquina o web.config en prod tiene la configuración en la configuración; es probable que no necesite la etiqueta proxy.

<system.net> <defaultProxy useDefaultCredentials="true" > <proxy usesystemdefault="False" proxyaddress="http://<ProxyLocation>:<port>" bypassonlocal="True" autoDetect="False" /> </defaultProxy> </system.net>


Solo agrega esto a la configuración

<system.net> <defaultProxy useDefaultCredentials="true" > </defaultProxy> </system.net>


Tuve un problema similar relacionado con el proxy. En mi caso, fue suficiente para agregar:

webRequest.Proxy.Credentials = new NetworkCredential("user", "password", "domain");


HttpWebRequest webRequest = WebRequest.Create(uirTradeStream) as HttpWebRequest; webRequest.Proxy = WebRequest.DefaultWebProxy; webRequest.Credentials = new NetworkCredential("user", "password"); webRequest.Proxy.Credentials = new NetworkCredential("user", "password");

Es exitoso