c# – 从Facebook页面中提取RSS源
发布时间:2020-12-15 06:26:26 所属栏目:百科 来源:网络整理
导读:我需要帮助从Facebook页面提取RSS提要我正在使用以下代码,但它一直给我一个错误: string url = "https://www.facebook.com/feeds/page.php?id=40796308305format=rss20";XmlReaderSettings settings = new XmlReaderSettings { XmlResolver = null,DtdProce
我需要帮助从Facebook页面提取RSS提要我正在使用以下代码,但它一直给我一个错误:
string url = "https://www.facebook.com/feeds/page.php?id=40796308305&format=rss20"; XmlReaderSettings settings = new XmlReaderSettings { XmlResolver = null,DtdProcessing=DtdProcessing.Parse,}; XmlReader reader = XmlReader.Create(url,settings); SyndicationFeed feed = SyndicationFeed.Load(reader); foreach (var item in feed.Items) { Console.WriteLine(item.Id); Console.WriteLine(item.Title.Text); Console.WriteLine(item.Summary.Text); } if (reader != null) reader.Close(); 此代码与任何博客或页面rss完美配合,但使用Facebook rss时,它会给出以下消息的异常
谢谢 解决方法
Facebook将在此实例中返回HTML,因为它不喜欢XmlReader提供的用户代理.由于您无法自定义它,因此您需要一个不同的解决方案来获取Feed.这应该可以解决您的问题:
var req = (HttpWebRequest)WebRequest.Create(url); req.Method = "GET"; req.UserAgent = "Fiddler"; var rep = req.GetResponse(); var reader = XmlReader.Create(rep.GetResponseStream()); SyndicationFeed feed = SyndicationFeed.Load(reader); 这完全是Facebook的一种行为,但建议的更改应该同样适用于您当前实施可以接受的其他网站. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |