我有一段代碼基本上使用XMLDocument.Load(uri)方法讀取XML文檔,該方法工作正常,但如果通過調用一個代理。XMLDocument.Load(url)通過代理
我想知道是否有人知道通過代理進行此調用(或達到相同效果)的方式?
我有一段代碼基本上使用XMLDocument.Load(uri)方法讀取XML文檔,該方法工作正常,但如果通過調用一個代理。XMLDocument.Load(url)通過代理
我想知道是否有人知道通過代理進行此調用(或達到相同效果)的方式?
您是否需要向代理提供憑證?
如果是的話,這應該幫助: http://msdn.microsoft.com/en-us/library/aa720674.aspx
基本上 「從文件讀取時供應身份驗證憑據的XmlResolver」 你......
您無法配置XMLDocument以使用代理。您可以使用WebRequest或WebClient類通過代理加載數據並將獲得的響應流傳遞給XMLDocument
也可以嘗試使用XmlTextReader類。它允許您設置網絡憑據。有關詳細信息,請參閱:
Supplying Authentication Credentials to XmlResolver when Reading from a File
您需要使用WebProxy和WebRequest的下載XML,然後解析它。
這是我最後使用的代碼:
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);
使用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);
見@斯科特的校... – 2011-02-22 20:39:54