Anmeldeseite mit cURL

12

Ich versuche, mich von der cURL-Befehlszeile mit dem Befehl anzumelden

curl - Daten "Benutzername = Benutzer & Passwort = Pass & Submit = Login" http://www.ip.com:8080/LoginApplication/Login.jsp

Und danach versuchen, die innere Seite mit zuzugreifen

curl http://www.ip.com:8080/LoginApplication/Success.jsp

Aber ich werde auf die Fehlerseite umgeleitet, weil ich nicht eingeloggt bin.

Was fehlt mir in meinem ersten Befehl, damit er die Sitzung aufrechterhalten kann? Ich habe meine Website lokal gehostet

SAR
quelle
Möglicherweise auch auf SO: stackoverflow.com/questions/12399087/…
Ciro Santilli

Antworten:

15

Nun, Sie müssen die Sitzungsdaten in einem Cookie speichern. Sie können -c cookie_filenamedas Cookie mit erstellen (fügen Sie dies Ihrem Anmeldebefehl hinzu). Und dann, für die anderen Anfragen, können Sie mit aus dem Cookie lesen -b cookie_filename.

Zum Beispiel:

curl -s loginpage -c cookiefile -d "user=myself&pass=secure"
curl -s secretpage -b cookiefile

EDIT :

Beachten loginpageSie, dass die Seite, die Sie mit Ihrem Webbrowser öffnen, häufig nicht Ihren Benutzer und Ihr Kennwort enthält. Sie müssen überprüfen, wo das Formular diese Daten veröffentlicht (suchen Sie das <form>Tag im Quellcode und im action=...Attribut). Wenn Sie sich beispielsweise bei https://criticker.com anmelden möchten , loginpageist https://www.criticker.com/authenticate.php und nicht https://www.criticker.com/signin.php . Welches öffnen Sie mit Ihrem Browser?

Ein Manipulations-Plugin / eine Erweiterung für Ihren Browser kann Ihnen dabei helfen, die richtigen loginpageund alle Daten zu finden, die dort gepostet werden (z. B. versteckte Eingabefelder im Formular).

Peque
quelle
Die angegebene Sequenz von -s -c -d erzeugt nicht einmal eine Cookie-Datei
SAR
Es war eine große Hilfe, ich habe meine Quelle erneut durchsucht und festgestellt, dass meine Anfrage an einen Controller geht. Dann habe ich meinen Befehl geändert und es hat für mich funktioniert.
SAR
Dies funktioniert gut für HTTP, gibt es etwas, was ich mit HTTPS tun muss
SAR
@SAR: Sie haben Probleme mit Zertifikaten. Vielleicht möchten Sie nur verwenden -k. Sehen Sie curl --helpfür weitere Informationen oder suchen im Internet , wie Zertifikate zu behandeln. ;-)
Peque
1
Vielen Dank für die großartige Hilfe. Das Problem mit meiner Locke war: "Beachten Sie, dass die Anmeldeseite oft nicht die Seite ist, die Sie mit Ihrem Webbrowser öffnen, auf der Sie Ihren Benutzer und Ihr Kennwort eingeben." ... Vielen Dank!
Sambhav Pandey