1

Всем привета.
Объясните темному человеку в этих делах:
Есть у нас сайтиГ с авторизацией и соответственно контентом под юзверя...
...да пускай даже тута: незареганые пользователи не видят раздел "Техподдержка"...
И хочется мне в командной строке выдергивать контент под определенного пользователя (ну т.е. сначала авторизоваться, а потом тянуть то что дают)

Порядок действий получается такой:
Первое: можем проверить зашли ли мы под пользователем: login_ok=`curl http://linuxforum.ru/ | grep  "Вы вошли как $username"`
Второе: если не вошли, т.е. $login_ok == '' то нам нужно авторизоваться и получить печеньку
Ну и третее: Когда авторизовались и получили печеньку, отправить эту печеньку и получить содержимое страницы http://linuxforum.ru/search.php?action=show_recent (которая для всех групп пользователей разная)

Собственно вотЬ сам вопрос:
Как такое реализовать с помощью curl?

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

2

Вот пример авторизации и получения cookie.

1) Нужно взять csrf_token со страницы авторизации

 curl http://linuxforum.ru/login.php | grep csrf_token
 <input type="hidden" name="csrf_token" value="9f2f3c1e6271d5e65d12416f2f6423c72b712e3d" />

2) Формируем запрос

 curl -X POST -c cookie "http://linuxforum.ru/login.php" --data "form_sent=1&csrf_token=9f2f3c1e6271d5e65d12416f2f6423c72b712e3d&req_username=username&req_password=p@$$word&login=Войти"

пароль должен быть без спецсимволов.

Если всё сделано верно, то будет такой текст

 <div class="main-head">
        <h1 class="hn"><span>Успешный вход. Перенаправление</span></h1>
    </div>

Дальше для использования достаточно в запросе указать файл с печенкой

curl -b cookie http://linuxforum.ru/search.php?action=show_recent

3

letnab, Огромное спасибо!  az

- Пап, а вирусы под линукс есть?
- Есть, но всего 5, и их сначала нужно откомпилировать под свою систему, дать права на запуск и запустить.
Как сделать и разместить скриншот || Прежде чем создавать тему

4

letnab, и от меня спасибо!  az