订阅RSS源

订阅RSS源

问题描述:

我正在写一个非常简单的RSS阅读器 - 它需要做的就是获取xml文档,并在控制台上打印标题并发布每个项目的日期。我得到了使用这两个问题开始:订阅RSS源

How can I get started making a C# RSS Reader?

Reading the Stack Overflow RSS feed

我试图找出如何订阅,并尽可能我可以计算你做的两种方式之一。向Feed站点发送HTTP请求,以便在更新到达时推送更新,或每隔X秒轮询一次该站点,并仅打印新站点。

我觉得很难相信,由于数百万的RSS阅读器在任何特定时刻都在运行,所以没有办法订阅,流行的RSS网站(如facebook,twitter或myspace)每秒会触及数亿次由于所有的RSS阅读器“订阅”它看起来像DOS攻击。

那么,如果这样的标准真的存在,那么订阅RSS订阅源的“标准”方式是什么?

标准的方法是轮询。并非每隔x秒,而是每x分钟或x小时。

RSS背后的推理就是让feed非常简单。小的下载和相同的文件可以提供给所有用户(容易缓存在内存中,不需要处理开销,以准确找出发送给每个客户端的内容和时间)。

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

这很简单:

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

一般而言,您提到的网站足够智能以识别DOS攻击(例如,在极短时间内来自同一IP的频繁请求)。所以,你不必担心这一点。

此外,在创建RSS阅读器时,每当您从供稿网址获取新的XML时,都必须从旧版本(您已经在用户界面中获得)找到新帖子。时间戳通常用于识别帖子,但是,没有标准的做法。

一个网站/服务器上的RSS不管理任何可疑文件。怀疑只是RSS阅读器中的一个概念。这使得RSS服务器端的东西变得简单,因为不需要进行可使协议易于采用的可疑管理。

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