Puoi provarlo con curl, puoi semplicemente usare curl in questo modo per accedere alla pagina web:
curl --user name:password http://somesite.com -v
Puoi passare i dati al sito Web in questo modo dalla risposta di StackOverflow
curl -b cookies.txt -c cookies.txt --data "Username=xx&Password=xx&Login=Login" [urlthatyour form submits]
hai bisogno dei cookie se desideri effettuare un'altra richiesta curl dopo l'accesso. l'id di sessione nei cookie aiuterà la successiva richiesta curl autorizzata.
Se non vuoi i cookie puoi usare
curl --data "Username=xx&Password=xx&Login=Login" [url that your form submits]
Puoi inoltre fare riferimento qui per i comandi speciali
Finalmente ho trovato un modo per accedere automaticamente usando elinks
. Funziona ed è anche facile da configurare!
È necessario impostare due opzioni. Questo può essere fatto aggiungendo le seguenti righe in ~/.elinks/elinks.conf
(se il file non è presente, creane uno) o modificando i valori nelle rispettive posizioni nella finestra di dialogo delle opzioni all'interno di elinks
:
# Save username and password for later use
set document.browse.forms.show_formhist = 1
# Do not ask for confirmation before a form is submitted
set document.browse.forms.confirm_submit = 0
I passaggi per un accesso automatico tramite script sono quindi:
- Imposta queste due opzioni
- Apri la pagina di accesso in
elinks
, compila i moduli e inviali. - Scegli di ricordare nome e password per un uso successivo.
- Chiudi elink
- Esegui
elinks -auto-submit http://somesite.com
Quest'ultimo comando dovrebbe eseguire il login automatico senza ulteriori interazioni da parte dell'utente.
In realtà uso timeout 1m elinks -auto-submit http://somesite.com &
, in modo da non avere un processo di elink inattivo in esecuzione in background per tutto il tempo.
Un modo semplice per scrivere questo è con Selenium.
Puoi utilizzare il plug-in "Test Recorder" di Firefox per registrare un test di te stesso che accedi alla rete e quindi riprodurre il test.