Войти на сайт используя cURL


12

Я пытаюсь войти в систему из командной строки cURL с помощью команды

curl --data "username = user & password = pass & submit = Login" http://www.ip.com:8080/LoginApplication/Login.jsp

И после этого пытается получить доступ к внутренней странице, используя

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

Но я получаю перенаправлен на страницу ошибки из-за не вошел в систему.

Чего мне не хватает в моей первой команде, чтобы она могла поддерживать сеанс? Мой сайт размещен локально


Ответы:


15

Ну, вам нужно сохранить данные сеанса в cookie. Вы можете использовать -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и все данные, которые публикуются в нем (например, скрытые поля ввода в форме).


Данная последовательность -s -c -d даже не создает файл cookie
SAR

Это было очень полезно, я снова посмотрел свой источник и обнаружил, что мой запрос идет к контроллеру, а затем я изменил свою команду, и она сработала для меня.
САР

Это прекрасно работает для HTTP, есть ли что-то, что мне нужно сделать с HTTPS
SAR

@SAR: у вас проблемы с сертификатами. Может быть, вы просто хотите использовать -k. Смотрите curl --helpдля получения дополнительной информации или поиска в Интернете, как обращаться с сертификатами. ;-)
Пек

1
Спасибо большое за помощь ... Проблема с моим керлом была: "Заметьте, много раз, что страница входа не та страница, которую вы открываете в своем веб-браузере, где вы вводите свой пароль и пользователя." ... Спасибо!
Самбхав Пандей
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.