我正在编写一个非常简单的RSS阅读器 - 它需要做的就是获取xml文档,并在控制台上打印每个项目的标题和发布日期。我开始使用这两个问题:
How can I get started making a C# RSS Reader?
Reading the Stack Overflow RSS feed
我正在试图弄清楚如何订阅,并且据我所知,你可以通过两种方式之一来做到这一点。向源站点发送HTTP请求,以便在它们到来时推送您的更新,或者每隔X秒轮询站点并简单地打印新的站点。
由于数百万RSS阅读器在任何特定时刻运行,我觉得很难相信无法订阅,Facebook,Twitter或myspace等热门RSS网站每秒会被点击数亿次所有RSS阅读器“订阅”它并看起来像DOS攻击。
那么订阅RSS源的“标准”方式是什么,如果真的存在这样的标准呢?
答案 0 :(得分:12)
标准方法是民意调查。不是每x秒,而是每x分钟或x小时。
RSS背后的原因是保持饲料非常简单。可以向所有订阅者提供小型下载和相同的文件(易于在内存中缓存,无需处理开销,无法确切地知道发送给每个客户端的内容和时间)。
答案 1 :(得分:8)
不确定您是否完全理解 RSS Feed 的概念。
很简单:
HTTP GET
请求。 XML
作为回报。XML
并在UI
。通常,您提到的网站足够聪明,可以识别DOS攻击(例如,在很短的时间内来自同一IP的频繁请求)。所以,你不必担心这一点。
此外,在创建RSS阅读器时,每次从Feed网址获取新的XML
时,您都必须识别旧帖子(您在UI上已有的帖子)。时间戳通常用于标识帖子,但是,没有标准的方法。
答案 2 :(得分:4)
站点/服务器上的RSS不管理任何嫌疑人。该嫌疑只是RSS阅读器中的一个概念。这使得RSS服务器端的内容变得简单,因为不需要使用Suscription管理,这使得协议易于采用。
您必须定期通过HTTP GET将RSS源轮询到源URL。您将获得RSS格式的XML文档作为回报。然后你解析它并显示你喜欢的信息。瞧。