Devo ottenere l'autorizzazione per accedere a dati o funzionalità di un sito a livello di programmazione? [duplicare]

4

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?

    
posta Dinesh 13.12.2011 - 07:33
fonte

3 risposte

13

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

    
risposta data 13.12.2011 - 08:38
fonte
3

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:

  • Utilizza un'intestazione User-agent: distinta e ovvia. Lanciare un indirizzo di contatto è una pratica eccellente. %codice%
  • Rispetto robots.txt
  • Riduci al minimo il carico che metti sui loro provider di hosting. Nessun sondaggio ogni minuto, mettere un ritardo di qualche secondo tra le richieste, ecc.
  • Rispetta 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.
  • Metti in atto un ragionevole sforzo per eliminare eventuali avvisi di copyright sulla pagina
  • Comprendi (e documenta bene nel tuo codice, se lo fai distribuire) che i servizi che usi potrebbero interrompere la tua app quando cambiano o bloccarla deliberatamente.
  • Se lo bloccano, non tentare di aggirare questo
risposta data 13.12.2011 - 14:21
fonte
1

Hai controllato i termini di servizio dei siti? Molti vietano solo quel tipo di raschiatura dello schermo.

    
risposta data 13.12.2011 - 13:47
fonte

Leggi altre domande sui tag