2009-08-25 5 views
13

Quelle est la meilleure façon de détecter lorsqu'un flux a été mis à jour? Dites que j'ai une application qui interroge le flux toutes les 15 minutes. Comment savoir si un nouveau contenu a été ajouté ou non? Pour les flux RSS et Atom.Détection de nouveaux éléments dans un flux RSS

Répondre

5

Chaque élément dans RSS 2 et Atom a un GUID/ID qui peut être marqué comme unique. S'il est marqué comme unique, vous pouvez l'utiliser pour identifier les éléments et les comparer aux éléments précédents.

+0

Cela semble et plus facile à faire ... Merci .. – haden

+0

Selon ce http://www.rssboard.org/rss-specification#ltguidgtSubelementOfLtitemgt le 'guid' est un champ facultatif de sorte qu'il peut ne pas être présent dans certains Flux RSS ! – webNeat

3

Vérifiez les champs Last-Modified et ETag de la réponse http lors de la demande du champ. Mieux encore, utilisez les balises If-Modified-Since et If-None-Match dans votre requête, et vous obtiendrez une réponse 304 uniquement si le flux n'a pas été modifié. (Voir: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)

+2

Tous les flux de site Web prennent-ils en charge etags? Et etags sont facilement lisibles par javascript? – haden

1

J'utilise etags sur mon projet, calculé dans un filtre de servlet comme indiqué ici http://www.infoq.com/articles/etags

Cela travaillerait pour rss, atome ou toute autre ressource hébergé sur votre serveur Web.