Вхід на сайт за допомогою CURL


12

Я намагаюся увійти з командного рядка cURL з командою

curl --дані "ім'я користувача = користувач & пароль = пройти і подати = Вхід" http://www.ip.com:8080/LoginApplication/Login.jsp

А після цього намагаються отримати доступ до внутрішньої сторінки за допомогою

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

Але я переспрямовуюсь на сторінку помилок через те, що не ввійшов у систему.

Що мені не вистачає в моїй першій команді, щоб вона могла підтримувати сеанс? У мене на веб-сайті розміщено місцеве місце


Відповіді:


15

Ну, вам потрібно буде зберігати дані сеансу у файлі cookie. Ви можете використовувати -c cookie_filenameдля створення файлу cookie (додайте це до своєї команди входу). А потім, для інших запитів, ви можете прочитати з файлу cookie з -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.