当前位置:  开发笔记 > 编程语言 > 正文

XMLDocument.Load(url)通过代理

如何解决《XMLDocument.Load(url)通过代理》经验,为你挑选了4个好方法。

我有一些基本上使用XMLDocument.Load(uri)方法读取XML文档的代码,该方法工作正常,但如果通过代理进行调用则效果不佳.

我想知道是否有人知道通过代理进行此调用(或达到相同效果)的方法?



1> lomaxx..:

这是我最终使用的代码:

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



2> 小智..:

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



3> Brandon Payt..:

您是否必须向代理提供凭据?

如果是这样,这应该有所帮助:"从文件读取时向XmlResolver提供身份验证凭据" http://msdn.microsoft.com/en-us/library/aa720674.aspx

基本上,你......

    使用URL创建XmlTextReader

    设置阅读器的XmlResolver的Credentials属性

    创建一个XmlDocument实例并将阅读器传递给Load方法.



4> aku..:

您无法将XMLDocument配置为使用代理.您可以使用WebRequest或WebClient类通过代理加载数据,并将获得的响应流传递给XMLDocument

您也可以尝试使用XmlTextReader类.它允许您设置网络凭据.详情见:

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

推荐阅读
mobiledu2402851203
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有