2011-02-25 5 views
6

Sto scrivendo un lettore RSS molto semplice: tutto quello che devi fare è ottenere il documento xml e stampare sulla console il titolo e pubblicare la data di ogni articolo. Ho iniziato con queste due domande:Iscriviti a un feed RSS

How can I get started making a C# RSS Reader?

Reading the Stack Overflow RSS feed

Sto cercando di capire come iscriversi, e, per quanto posso capire lo si fa in due modi. Invia una richiesta HTTP al sito del feed in modo che ti spinga gli aggiornamenti non appena arrivano, o esegui il polling del sito ogni X secondi e stampi semplicemente quelli nuovi.

Trovo difficile credere che non ci sia modo di iscriversi a causa dei milioni di lettori RSS in esecuzione in un dato momento, siti RSS popolari come Facebook, Twitter o MySpace sarebbero colpiti centinaia di milioni di volte al secondo a causa di tutti i lettori RSS "iscritti" ad esso e sembra un attacco DOS.

Quindi qual è il modo "standard" per iscriversi a un feed RSS, se tale standard esiste davvero?

risposta

12

Il modo standard è quello di sondare. Non ogni x secondi ma ogni x minuti o x ore.

Il ragionamento alla base di RSS è di mantenere il feed estremamente semplice. Piccolo download e lo stesso file può essere servito a tutti gli abbonati (facile cache nella memoria e nessun overhead di elaborazione per scoprire esattamente cosa e quando inviare a ciascun client).

8

Non sei sicuro di aver capito il concetto di feed RSS.

E 'semplice:

  1. È applicazione (RSS reader) invia una richiesta al HTTP GET dato URL del feed RSS.
  2. Si ottiene XML in cambio.
  3. Si analizza quello XML e si visualizzano i dati sul proprio UI.

E in generale, i siti Web che hai citato sono abbastanza intelligenti da identificare gli attacchi DOS (ad esempio, richieste frequenti dallo stesso IP in tempi molto brevi). Quindi, non devi preoccuparti di questo.

Inoltre, durante la creazione di un lettore RSS, ogni volta che si ottiene nuovo XML dall'URL del feed, è necessario identificare i nuovi post da quelli vecchi (che sono già presenti sull'interfaccia utente). I timestamp vengono generalmente utilizzati per identificare i post, ma non esiste un modo standard per farlo.

4

L'RSS su un sito/server non gestisce alcuna richiesta. La sottoscrizione è solo un concetto nel lettore RSS. Ciò semplifica le cose sul lato server RSS, in quanto non è necessario gestire la gestione che ha reso il protocollo facile da adottare.

È necessario eseguire periodicamente il polling del feed RSS da un HTTP GET all'URL del feed. In cambio ottieni un documento XML nel formato RSS. Quindi lo analizzi e visualizzi le informazioni che ti piacciono. Ecco.