2012-10-10 23 views
2

當試圖從craigslist中使用RDF提要時,我正在運行(401)Unauthorized WebException。我可以直接閱讀下面兩個註釋掉的URL,沒有任何問題。如果我可以使用Internet Explorer直接導航到craigslist URL而沒有任何問題,爲什麼在嘗試使用XmlReader加載數據時會失敗?使用XmlReader獲取未經授權的WebException

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(); 
    } 
} 

enter image description here

Why unauthorized?

回答

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);