2

在尝试使用来自 craigslist 的 RDF 提要时,我遇到了 (401) Unauthorized WebException。我可以毫无问题地阅读其正下方的两个已注释掉的 URL。如果我能够使用 Internet Explorer 直接导航到 craigslist URL 没有问题,为什么在尝试使用 XmlReader 加载数据时会失败?

http://portland.craigslist.org/search/sss?query=mac&srchType=A&format=rss

    static void Main(string[] args)
    {
        XmlReader reader = XmlReader.Create("http://portland.craigslist.org/search/sss?query=mac&srchType=A&format=rss");
        //XmlReader reader = XmlReader.Create("http://wdfw.wa.gov/news/newsrss.php");
        //XmlReader reader = XmlReader.Create("http://rss.slashdot.org/Slashdot/slashdot");
        Rss10FeedFormatter rf = new Rss10FeedFormatter();
        rf.ReadFrom(reader);
        Console.ReadLine();
    }
}

在此处输入图像描述

为什么未经授权?

4

1 回答 1

3

使用 XmlResolver

                XmlUrlResolver resolver = new XmlUrlResolver();
                resolver.Credentials = System.Net.CredentialCache.DefaultCredentials;

                XmlReaderSettings settings = new XmlReaderSettings();
                settings.XmlResolver = resolver;

                // create a reader and populate the document
                XmlReader reader = XmlReader.Create(rssFeedUrl, settings); //
                doc = new XmlDocument();
                doc.Load(reader);
于 2013-03-07T10:44:16.343 回答