订阅RSS Feed

时间:2011-02-25 15:28:08

标签: c# .net rss

我正在编写一个非常简单的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源的“标准”方式是什么,如果真的存在这样的标准呢?

3 个答案:

答案 0 :(得分:12)

标准方法是民意调查。不是每x秒,而是每x分钟或x小时。

RSS背后的原因是保持饲料非常简单。可以向所有订阅者提供小型下载和相同的文件(易于在内存中缓存,无需处理开销,无法确切地知道发送给每个客户端的内容和时间)。

答案 1 :(得分:8)

不确定您是否完全理解 RSS Feed 的概念。

很简单:

  1. 您的应用程序(RSS阅读器)向给定的RSS提要网址发送HTTP GET请求。
  2. 你得到XML作为回报。
  3. 您解析XML并在UI
  4. 上显示该数据

    通常,您提到的网站足够聪明,可以识别DOS攻击(例如,在很短的时间内来自同一IP的频繁请求)。所以,你不必担心这一点。

    此外,在创建RSS阅读器时,每次从Feed网址获取新的XML时,您都必须识别旧帖子(您在UI上已有的帖子)。时间戳通常用于标识帖子,但是,没有标准的方法。

答案 2 :(得分:4)

站点/服务器上的RSS不管理任何嫌疑人。该嫌疑只是RSS阅读器中的一个概念。这使得RSS服务器端的内容变得简单,因为不需要使用Suscription管理,这使得协议易于采用。

您必须定期通过HTTP GET将RSS源轮询到源URL。您将获得RSS格式的XML文档作为回报。然后你解析它并显示你喜欢的信息。瞧。