Обнаружение новых предметов в ленте RSS - PullRequest
13 голосов
/ 25 августа 2009

Как лучше всего определить, когда канал был обновлен? Скажем, у меня есть приложение, которое опрашивает канал каждые 15 минут. Как узнать, был ли добавлен новый контент или нет? Для RSS и каналов Atom.

Ответы [ 3 ]

5 голосов
/ 25 августа 2009

Каждый элемент в RSS 2 и Atom имеет GUID / ID, который может быть помечен как уникальный. Если он помечен как уникальный, его можно использовать для идентификации предметов и сопоставления с предыдущими предметами.

3 голосов
/ 25 августа 2009

Проверьте поля Last-Modified и ETag HTTP-ответа при запросе поля. Более того, используйте теги If-Modified-Since и If-None-Match в своем запросе, и вы получите ответ 304 только в том случае, если фид не был изменен. (см .: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)

1 голос
/ 27 августа 2009

Я использую etags в моем проекте, вычисленном в фильтре сервлетов, как показано здесь http://www.infoq.com/articles/etags

Это будет работать для rss, atom или любого другого ресурса, размещенного на вашем веб-сервере.

...