我正在使用此代码从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浏览器上工作正常!!
我很累,因为从昨天开始尝试解决这个例外,我不能:(
答案 0 :(得分:1)
我不确定这只是您的问题中的错误,或者是否在您的代码中。在代码示例中,您尝试获取此URL:
http://somedomain.com:8550/epe/postaglist
但在下面的讨论中,您有:
http://somedomain.com:8550/epe/pos/taglist
在任何情况下,如果您收到401错误,则表示您必须提供某种凭据。也许该站点需要用户名和密码。您需要查看设置WebClient
的{{3}}属性。
另见Credentials和各种答案。