2009-08-25 16 views
13

Qual è il modo migliore per rilevare quando un feed è stato aggiornato? Supponiamo che io abbia un'applicazione che esegue il polling del feed ogni 15 minuti. Come faccio a sapere se è stato aggiunto o meno un nuovo contenuto? Per feed RSS e Atom.Rilevamento di nuovi nuovi articoli in un feed RSS

risposta

5

Ogni elemento in RSS 2 e Atom ha un GUID/ID che può essere contrassegnato come univoco. Se è contrassegnato come unico, puoi usarlo per identificare gli oggetti e confrontarli con quelli precedenti.

+0

Questo sembra e il modo più semplice per andare ... Grazie .. – haden

+0

Secondo questo http://www.rssboard.org/rss-specification#ltguidgtSubelementOfLtitemgt il 'guid' è un campo opzionale quindi potrebbe non essere presente in alcuni Feed RSS! – webNeat

3

Controllare i campi Last-Modified e ETag della risposta http quando si richiede il campo. Ancora meglio, usa i tag If-Modified-Since e If-None-Match nella tua richiesta, e riceverai una risposta 304 solo se il feed non è stato modificato. (vedi: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)

+2

Tutti i feed del sito Web supportano gli etags? E gli etags sono facilmente leggibili da javascript? – haden

1

Sto usando etags sul mio progetto, calcolato in un filtro servlet come mostrato qui http://www.infoq.com/articles/etags

questo dovrebbe funzionare per rss, atomo o qualsiasi altra risorsa ospitato sul vostro server web.