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 エラーが発生した場合は、何らかの資格情報を提供する必要があることを意味します。おそらく、サイトにはユーザー名とパスワードが必要です。のCredentialsプロパティの設定を調べる必要がありますWebClient

WebClient リクエストを認証するにはどうすればよいですか?も参照してください。、およびさまざまな回答。

于 2013-03-18T23:16:15.117 に答える