Сайт мобильного оператора. Авторизация. curl
Всем доброго времени суток. Учусь работе в командной строке. Впечатлен возможностями curl. Пытаюсь самостоятельно с ним разобраться и научиться осмысленно его применять. Неделю уже убил на разборки с ним). Новичок, просьба не пинать.
Требуется: авторизовываться в личном кабинете на сайте мегафон (https://lk.megafon.ru) с помощью curl. Просто практика для освоения curl)
Что делал: несколько команд из скриптов, в частности, отсюда http://blog.elve.name/?p=104 (по аналогии), на этом форуме какие-то «кусочки» находил, по забугорным форумам лазил. Где-то что-то все-равно не подходило к моей задаче. Ни разу не получилось войти.
Что заметил: я в курсе, что curl только отправляет запросы серверу, а не нажимает кнопки на сайтах). Поэтому применял F12 на сайте, входил в ЛК, пытался отследить запрос, который высылает браузер. Во вкладке «Network»/«Other» заметил единственные данные, в которых присутствуют мои логин-пароль. Что интересно, ссылка этого URL https://lk.megafon.ru/dologin/, а его реферер https://lk.megafon.ru/login/. То есть получается, что изначально я захожу на сайт https://lk.megafon.ru/login/, ввожу данные логин/пароль в форму и при нажатии кнопки «войти», браузер шлет POST-запрос на сайт https://lk.megafon.ru/dologin/, а затем уже GET-запрос на сайт https://lk.megafon.ru (сам личный кабинет). То есть, сохранив и выслав куки, отправив POST-запрос, я все-равно не попадаю в ЛК, потому что за POST-запросом должен последовать GET-запрос? Как это обойти? Кроме того, в заголовках, которые идут в запросе на сервер (наряду с логин-паролем), присутствует какой то «CSRF» с кодом, совпадающим с кодом из куков. Его тоже нужно указывать в команде (CSRF:№&j_username:000&j_password:000) или же он автоматом «присоединяется» к высылаемым кукам? Просьба, пните меня в правильном направлении-дальше сам постараюсь нарыть. Прошу прощения, если где то непонятно написал, у нас ночь. Глаза слипаются).