使用webclient下载XML文件时出错

时间:2013-03-18 20:14:25

标签: c# webclient-download

我正在使用此代码从URl获取XML数据:

using (WebClient wc = new WebClient())
{
    wc.Credentials = new NetworkCredential("admin", "admin");
    string xml = wc.DownloadString("http://somedomain.com:8550/epe/postaglist");

    XmlDocument tournamentsXML = new XmlDocument();
    tournamentsXML.LoadXml(xml);


    XmlNodeList TagList = tournamentsXML.GetElementsByTagName("TAG");
    foreach (XmlNode node in TagList)
    {
        XmlElement TagElement = (XmlElement)node;
        string TagID = TagElement.GetElementsByTagName("tagid")[0].InnerText;
        string MAC = TagElement.GetElementsByTagName("mac")[0].InnerText;
        Messagbox.Show(TagID+","+MAC));
    }
}

它100%正常工作。但是在更改链接时添加查询字符串如下:

http://somedomain.com:8550/epe/pos/taglist?fields=posgood

它给我认证异常401请注意它在IE或Firefox浏览器上工作正常!!

我很累,因为从昨天开始尝试解决这个例外,我不能:(

1 个答案:

答案 0 :(得分:1)

我不确定这只是您的问题中的错误,或者是否在您的代码中。在代码示例中,您尝试获取此URL:

http://somedomain.com:8550/epe/postaglist

但在下面的讨论中,您有:

http://somedomain.com:8550/epe/pos/taglist

在任何情况下,如果您收到401错误,则表示您必须提供某种凭据。也许该站点需要用户名和密码。您需要查看设置WebClient的{​​{3}}属性。

另见Credentials和各种答案。