1

我正在使用此代码从 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 浏览器上工作正常!

我很累,因为从昨天开始仍在尝试解决这个异常,但我不能:(

4

1 回答 1

1

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

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

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

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

无论如何,如果您收到 401 错误,则意味着您必须提供某种凭据。也许该站点需要用户名和密码。您需要考虑设置WebClient.

另请参阅如何验证 WebClient 请求?,以及各种答案。

于 2013-03-18T23:16:15.117 回答