Я пытаюсь войти из командной строки cURL с помощью команды
curl --data "имя пользователя=пользователь&пароль=пароль&отправить=Логин"http://www.ip.com:8080/LoginApplication/Login.jsp
И после этого пытаемся получить доступ к внутренней странице с помощью
curl http://www.ip.com:8080/LoginApplication/Success.jsp
Но меня перенаправляют на страницу с ошибкой, так как я не вошел в систему.
Что мне не хватает в моей первой команде, чтобы она могла поддерживать сеанс? У меня есть мой сайт, размещенный локально
решение1
Ну, вам нужно будет сохранить данные сеанса в куки. Вы можете использовать -c cookie_filename
для создания куки (добавьте это к своей команде входа). А затем, для других запросов, вы можете прочитать из куки с помощью -b cookie_filename
.
Например:
curl -s loginpage -c cookiefile -d "user=myself&pass=secure"
curl -s secretpage -b cookiefile
РЕДАКТИРОВАТЬ:
Обратите внимание, что часто loginpage
это не та страница, которую вы открываете в своем веб-браузере, где вы вводите своего пользователя и пароль. Вам придется проверить, куда форма отправляет эти данные (поиск тега <form>
в исходном коде иaction=...
атрибута). Так, например, если вы хотите войти вhttps://criticker.com, loginpage
являетсяhttps://www.criticker.com/authenticate.phpи неhttps://www.criticker.com/signin.php, который вы открываете в своем браузере.
Поддельный плагин/расширение для вашего браузера может помочь вам обнаружить правильные loginpage
и все отправляемые в него данные (например, скрытые поля ввода в форме).