订阅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概念的概念。
这很简单:
- 您的应用程序(RSS阅读器)发送
HTTP GET
请求给予RSS提要URL。 - 你得到
XML
作为回报。 - 您解析该
XML
并显示在您的UI
上的数据。
一般而言,您提到的网站足够智能以识别DOS攻击(例如,在极短时间内来自同一IP的频繁请求)。所以,你不必担心这一点。
此外,在创建RSS阅读器时,每当您从供稿网址获取新的XML
时,都必须从旧版本(您已经在用户界面中获得)找到新帖子。时间戳通常用于识别帖子,但是,没有标准的做法。
一个网站/服务器上的RSS不管理任何可疑文件。怀疑只是RSS阅读器中的一个概念。这使得RSS服务器端的东西变得简单,因为不需要进行可使协议易于采用的可疑管理。
您必须通过HTTP GET定期轮询RSS提要到提要URL。您获得RSS格式的XML文档作为回报。然后你解析它并显示你喜欢的信息。瞧。