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


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).


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.