Můžete to vyzkoušet s curl, můžete jednoduše použít curl takto pro přihlášení na webovou stránku:
curl --user name:password http://somesite.com -v
Takto můžete předávat data na web z odpovědi Stackoverflow
curl -b cookies.txt -c cookies.txt --data "Username=xx&Password=xx&Login=Login" [urlthatyour form submits]
soubory cookie potřebujete, pokud chcete po přihlášení zadat další požadavek na zvlnění. ID relace v souborech cookie pomůže autorizaci dalšího požadavku na zvlnění.
Pokud nechcete soubory cookie, můžete použít
curl --data "Username=xx&Password=xx&Login=Login" [url that your form submits]
Zde můžete také odkazovat na Speciální příkazy
Konečně jsem našel způsob, jak se automaticky přihlásit pomocí elinks
. Funguje to a dokonce se snadno konfiguruje!
Je třeba nastavit dvě možnosti. To lze provést přidáním následujících řádků do ~/.elinks/elinks.conf
(pokud tam soubor není, vytvořte jej) nebo změnou hodnot na příslušných pozicích v dialogovém okně možností v 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
Kroky pro skriptovatelné automatické přihlášení jsou pak:
- Nastavte tyto dvě možnosti
- Otevřete přihlašovací stránku v
elinks
, vyplňte formuláře a odešlete je. - Zvolte zapamatování jména a hesla pro pozdější použití.
- Zavřít elinks
- Spusťte
elinks -auto-submit http://somesite.com
Druhý příkaz by měl provést automatické přihlášení bez další interakce uživatele.
Ve skutečnosti používám timeout 1m elinks -auto-submit http://somesite.com &
, takže mi na pozadí neustále běží nečinný proces elinks.
Jednoduchý způsob, jak to naskriptovat, je pomocí Selenium.
Můžete použít jejich plugin "Test Recorder" pro Firefox k nahrání testu vašeho přihlášení do sítě a následnému přehrání testu.