Come richiedere HTTP a un sito Web che utilizza la verifica del robot

2

Ho bisogno di fare alcune richieste / richieste su un sito Web con le credenziali per accedere. Ho intenzione di farlo con Ruby e Net :: Http. Dato che sono nuovo in questo tipo di esperienza, mi trovo alle prese con il fatto che la pagina di accesso richiede la verifica del robot (tipo di una casella di controllo), il che significa che non sono in grado di automatizzare la fase di accesso. Inoltre, il server rimane attivo per un po 'di tempo fino a quando non verifica che non sia stato eseguito alcun attivo, dopodiché richiede nuovamente la pagina di accesso. Il sito Web è compilato con PHP e JS (la maggior parte di esso è JS) e richiede che l'utente entri in modalità browser "area riservata" dopo la fase di accesso.

Non sarebbe un problema, mi collego manualmente ed eseguo un'operazione (poche richieste) ogni volta che ne ho bisogno. Ma non so come potrei passare le informazioni sulle credenziali dal browser, come id di sessione, al mio script. Ho bisogno di idee su questo concetto.

Informazioni aggiuntive:

  • Non ci sono API pubbliche.
  • La modalità del browser "restrict-area" è un browser senza alcuni pulsanti (avanti e indietro nelle pagine della cronologia) e non consente di modificare l'URL - questo è tutto ciò che so.
  • Ho bisogno di questo per automatizzare alcune attività manuali che richiedono ore.
  • Il sito Web utilizza Ajax.

Se sono necessarie ulteriori informazioni, posso aggiungerlo, basta chiedere nei commenti.

Grazie in anticipo!

Modifica

La mia intenzione non è quella di eseguire la scansione di siti Web casuali, ma come rendere specifiche richieste HTTP in un sito Web specifico in cui sono necessarie le credenziali per farlo.

    
posta Pedro Gabriel Lima 05.03.2018 - 20:20
fonte

1 risposta

2

Per i siti web intensivi di JS, potrebbe essere molto più conveniente utilizzare un approccio "browser senza testa", come capybara-webkit gem, che fondamentalmente consente l'automazione su un popolare motore di browser utilizzato in Chrome, Safari, Opera, ecc. Non sono sicuro se sia abbastanza buono da imbrogliare la verifica del robot (lasciando da parte l'aspetto morale), ma a almeno batte Net :: Http in casi come ottenendo risultati di ricerca di Google .

Inoltre, dai un'occhiata a PhantomJS che è un'automazione del browser JS (dato che capybara-webkit è un'automazione del browser Ruby), che fornisce un ulteriore comodità di lavorare con elementi in-page nella stessa lingua che controlla il browser.

    
risposta data 06.03.2018 - 14:18
fonte

Leggi altre domande sui tag