Sto creando un'applicazione che invierà programmaticamente richieste HTTP GET e POST a un sito ed elaborerà i dati ricevuti.
Se voglio rilasciare quell'applicazione, devo ottenere l'autorizzazione dai proprietari del sito?
Anche se non penso che esistano leggi specifiche che potrebbero impedirti di farlo, personalmente sarei molto abbozzato sull'utilizzo dei servizi web di qualcun altro che non sono stati ufficialmente pubblicati per il mondo.
La ragione è che non ci sono ragioni legali, ma il fatto che tu stia prendendo le tue uova e mettendole in un cestino che può essere facilmente preso proprio da sotto di te. Cosa succede se trascorri 3-12 mesi uomo a sviluppare un'app basata su un determinato servizio Web e poi la società ti scopre e modifica / blocca la loro API? Tutto questo tempo è sprecato? Hai un piano di backup?
Questo è un po 'come quello che Boxee ha cercato di fare con Hulu . Hulu ha un proprio sito ma ha chiaramente server di streaming per i suoi contenuti multimediali. Boxee ha provato a creare il loro software in modo che potesse trasmettere direttamente da Hulu, ma Hulu aveva altri piani. Questo non è mai andato in tribunale, ma dal momento che Hulu può continuare a cambiare le interfacce senza preavviso, ha semplicemente impedito a Boxee di ricevere il suo contenuto.
Quindi il mio consiglio è 1) utilizzare solo API pubbliche che sono garantite per rimanere pubbliche, 2) se non pubbliche, contatta l'azienda e vedi se puoi entrare in qualche tipo di accordo o 3) guarda altrove per quello di cui hai bisogno , forse un altro progetto open source
In generale, va bene. Ovviamente, dovresti ottenere il tuo consiglio legale, yada yada.
Le pagine Web vengono continuamente sottoposte a scansione da tutti i tipi di bot, come ogni sviluppatore dovrebbe sapere: la maggior parte dei siti si basa su di essa per il ranking, l'indicizzazione, ecc. Tutto ciò che è disponibile senza login o captcha è praticamente un gioco leale . Ci si può aspettare che un robot trovi tutto ciò che può essere collegato a un altro sito (ovvero non richiede una sessione di accesso) e non ci si può aspettare che comprenda un documento sui termini di servizio. Ecco perché c'è robots.txt
.
Per avere le migliori possibilità di essere sulla giusta strada:
User-agent:
distinta e ovvia. Lanciare un indirizzo di contatto è una pratica eccellente. %codice%
FooCrawler 1.0 (webservices at example dot com)
e Cache-control
intestazioni (se la risposta HTTP dice che è valida per un'ora, non eseguire il polling prima di allora). Se distribuisci la tua app in modo esteso e i tuoi utenti "mirano" agli stessi siti, prendi in considerazione la possibilità di progettare la struttura per utilizzare un proxy per spostare il carico sul tuo hosting. Hai controllato i termini di servizio dei siti? Molti vietano solo quel tipo di raschiatura dello schermo.