Próbuję zalogować się z wiersza polecenia cURL za pomocą polecenia
curl --data "nazwa użytkownika = użytkownik i hasło = hasło i przesłanie = logowanie" http://www.ip.com:8080/LoginApplication/Login.jsp
A potem próbuje uzyskać dostęp do wewnętrznej strony za pomocą
curl http://www.ip.com:8080/LoginApplication/Success.jsp
Ale jestem przekierowywany na stronę błędu z powodu braku zalogowania.
Czego brakuje mi w pierwszym poleceniu, aby mógł on utrzymać sesję? Mam witrynę hostowaną lokalnie
Odpowiedzi:
Musisz zapisać dane sesji w pliku cookie. Możesz użyć
-c cookie_filename
do utworzenia pliku cookie (dodaj to do polecenia logowania). Następnie w przypadku innych wniosków możesz odczytać z pliku cookie za pomocą-b cookie_filename
.W przykładzie:
EDYCJA :
Zauważ, że wiele razy
loginpage
nie jest to strona otwierana za pomocą przeglądarki internetowej, w której podajesz użytkownika i hasło. Musisz sprawdzić, gdzie formularz publikuje te dane (wyszukaj<form>
znacznik w kodzie źródłowym iaction=...
atrybucie). Na przykład jeśli chcesz się zalogować na https://criticker.com ,loginpage
to https://www.criticker.com/authenticate.php, a nie https://www.criticker.com/signin.php , który jest otwierany za pomocą przeglądarki.Wtyczka / rozszerzenie manipulujące w przeglądarce może pomóc Ci znaleźć prawidłowe
loginpage
i wszystkie dane, które są do niej wysyłane (takie jak ukryte pola wejściowe w formularzu).źródło
-k
. Zobaczcurl --help
więcej informacji lub wyszukaj w Internecie sposób obsługi certyfikatów. ;-)