0

我想将一个 xml 文件放在 http 密码保护目录中。当它不受密码保护时,我输入了 http 完整路径并且它可以工作,但是当我尝试从代码访问时出现异常:

       XmlDocument xdoc = new XmlDocument();
         try
         {
             xdoc.Load("http://user:password@mysite.com/safe/users.xml");
         }
         catch (Exception e)
         {
             return false;
         }

例外是:401 表示未经授权。

如果我在我的 borwser 中键入以下行: http://user:password@mysite.com/safe/users.xml -> 我可以看到 xml 文件。

谢谢 !

4

1 回答 1

0

我认为您需要为 XmlResolver 提供网络凭据

http://msdn.microsoft.com/en-us/library/47as68k4(v=vs.71).aspx

XmlTextReader rdr = new XmlTextReader("hthttp://@mysite.com/safe/users.xml");
rdr.XmlResolver.Credentials = CredentialCache.DefaultCredentials;
XmlDocument doc = new XmlDocument();
doc.Load(rdr);

这是设置 upt 凭据的链接。 http://msdn.microsoft.com/en-us/library/system.net.networkcredential(v=vs.71).aspx

于 2012-11-28T23:03:31.820 回答