2009-08-25 12 views
13

Wie erkennt man am besten, wenn ein Feed aktualisiert wurde? Angenommen, ich habe eine Anwendung, die den Feed alle 15 Minuten abfragt. Wie finde ich heraus, ob neue Inhalte hinzugefügt wurden oder nicht? Für RSS- und Atom-Feeds.Erkennen neuer neuer Elemente in einem RSS-Feed

Antwort

5

Jedes Element in RSS 2 und Atom hat eine GUID/ID, die als eindeutig gekennzeichnet werden kann. Wenn es als eindeutig gekennzeichnet ist, können Sie es verwenden, um Elemente zu identifizieren und sie mit den vorherigen Elementen abzugleichen.

+0

Dies scheint wie und einfacher Weg zu gehen ... Danke .. – haden

+0

Entsprechend dieser http://www.rssboard.org/rss-specification#ltguidgtSubelementOfLTemgt der 'Guid' ist ein optionales Feld, so dass es möglicherweise nicht in einigen vorhanden ist RSS-Feeds ! – webNeat

3

Überprüfen Sie die Felder Last-Modified und ETag der HTTP-Antwort, wenn Sie das Feld anfordern. Noch besser: Verwenden Sie die Tags "If-Modified-Since" und "If-None-Match" in Ihrer Anfrage, und Sie erhalten nur dann eine 304-Antwort, wenn der Feed nicht geändert wurde. (siehe: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)

+2

Unterstützen alle Website-Feeds Etags? Und lassen sich Etags einfach mit Javascript lesen? – haden

1

Ich verwende etags auf meinem Projekt, in einem Servlet-Filter berechnet wie hier gezeigt http://www.infoq.com/articles/etags

Diese für RSS-, Atom- oder jede andere Ressource auf dem Webserver gehostet funktionieren würde.

Verwandte Themen