LINUX.ORG.RU
решено ФорумAdmin

[curl][bash][onlime] Авторизация и получение баланса


0

3

Есть страничка с формой:

https://my.onlime.ru/

<form xmlns="" method="post" id="cablog" class="forma just" action="/session/login"><fieldset><div class="clear"><div class="lcol">
<div class="fe clear">
<label for="login_credentials_login">Логин:</label><input type="text" maxlength="10" size="30" name="login_credentials[login]" id="login_credentials_login" class="text" value="">
</div>
<div class="fe clear">
<label for="login_credentials_password">Пароль:</label><input type="password" size="30" maxlength="16" name="login_credentials[password]" id="login_credentials_password" class="text password">
</div>
<div class="btn clear">
<p><a href="/account/forgot_password">Забыли пароль?</a></p>
<input type="submit" value="Войти" name="commit" title="Войти" class="butt submit">
</div>
</div></div></fieldset></form>

Я хочу залогиниться через баш и грепнуть баланс.

Делаю как здесь: http://www.youtube.com/watch?v=Im72HDtqkFs

curl -d "login_credentials[login]=xxx&login_credentials[password]=xxx&submit=commit" https://my.onlime.ru/session/login

Но безрезультатно. Смотрю этот test — там даже ошибки нет.

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

Попробуй прочекай(Z.B: WireShark), что ты шлешь на сервер, и что шлет твой скрипт. Помню однажды разница была в кавычках.

anonymous ()
curl --cookie cookies.txt --cookie-jar cookies.txt --user-agent Mozilla/4.0 --data "login_credentials[login]=xxx&login_credentials[password]=xxx&submit=commit" https://my.onlime.ru/session/login -v
curl --cookie cookies.txt --user-agent Mozilla/4.0 https://my.onlime.ru

Вот так вроде работает. Только вот нужный текст не грепается, неужели js :(

ksevelyar ()
curl -s --cookie cookies.txt --cookie-jar cookies.txt --data "login_credentials[login]=xxx&login_credentials[password]=xxx&submit=commit" https://my.onlime.ru/session/login
curl -s --cookie cookies.txt --user-agent Mozilla/4.0 https://my.onlime.ru/json/cabinet | grep -o "balance\":[0-8]*" | sed s/[^0-9]//g

Итог, может кому ещё пригодится.

ksevelyar ()

1. Если просто curl делать, то какую страницу на страндаый ввод выводит?
2. Используйте bugzilla и смотрите, как реально делается запрос.
3. Могут быть задействованы куки, причем через жопу. Тогда Вы лососнете тунца. Честно говоря, я даже не помню, чтобы wget и curl умели сохранять выданные куки.

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от ksevelyar

Таки я был прав касаемо печенек. А без юзерагента их говносайт не работает?

ktulhu666 ☆☆☆ ()
Ответ на: комментарий от ktulhu666

Я забыл удалить его из второй команды финального варианта, а комменты править тут нельзя :)

ksevelyar ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.