XMLDocument.load方法(网址)通过代理(XMLDocument.Load(url) t

2019-07-31 16:40发布

我有一些代码,基本上读取使用,工作正常的XMLDocument.load方法(URI)方法的XML文档,但不工作这么好,如果呼叫是通过代理制成。

我想知道是否有人知道的一种方式拨打这通电话(或达到同样的效果)通过代理?

Answer 1:

你有没有提供凭据到代理?

如果是的话,这应该有助于:“从文件读取时供应身份验证凭据的XmlResolver” http://msdn.microsoft.com/en-us/library/aa720674.aspx

基本上,你...

  1. 使用网址一个XmlTextReader
  2. 将读者的XmlResolver的凭据属性
  3. 创建一个XmlDocument实例,读者传递给Load方法。


Answer 2:

这是我最后使用的代码:

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); 


Answer 3:

使用lomaxx的答案,但变化

MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(url);

MemoryStream ms = new MemoryStream(wc.DownloadData(url));
XmlTextReader rdr = new XmlTextReader(ms);


Answer 4:

您不能配置的XMLDocument使用代理。 可以使用的WebRequest或WebClient类经由代理来加载数据,并传递获得的响应流为XMLDocument

你也可以尝试使用XmlTextReader类。 它允许您设置的网络凭据。 有关详细信息,请参阅:

提供身份验证凭据的XmlResolver从文件读取时



Answer 5:

您需要使用WebProxy和WebRequest的下载XML,然后解析它。



文章来源: XMLDocument.Load(url) through a proxy
标签: c# xml proxy