c# - studio - web config system net proxy credentials
XMLDocument.Load(url) a través de un proxy (5)
¿Tiene que proporcionar credenciales para el proxy?
De ser así, esto debería ayudar: "Proporcionar credenciales de autenticación a XmlResolver al leer desde un archivo" http://msdn.microsoft.com/en-us/library/aa720674.aspx
Básicamente, tú ...
- Crea un XmlTextReader usando la URL
- Establezca la propiedad Credentials del XmlResolver del lector
- Cree una instancia XmlDocument y pase el lector al método Load.
Tengo un poco de código que básicamente lee un documento XML utilizando el método XMLDocument.Load (uri) que funciona bien, pero no funciona tan bien si la llamada se realiza a través de un proxy.
Me preguntaba si alguien sabía de una forma de hacer esta llamada (o lograr el mismo efecto) a través de un proxy.
Este es el código que terminé usando:
WebProxy wp = new WebProxy(Settings.Default.ProxyAddress);
wp.Credentials = new NetworkCredential(Settings.Default.ProxyUsername, Settings.Default.ProxyPassword);
WebClient wc = new WebClient();
wc.Proxy = wp;
MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(ms);
return XDocument.Load(rdr);
Necesita usar WebProxy y WebRequest para descargar el xml y luego analizarlo.
No puede configurar XMLDocument para usar proxy. Puede usar la clase WebRequest o WebClient para cargar datos a través del proxy y pasar la secuencia de respuesta obtenida a XMLDocument
También puedes intentar usar la clase XmlTextReader. Le permite establecer credenciales de red. Para detalles, ver:
Proporcionar credenciales de autenticación a XmlResolver al leer desde un archivo
Usa la respuesta de lomaxx pero cambia
MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(url);
a
MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(ms);