LINUX.ORG.RU

Python 3, не получается залогиниться на ЛОР

 , , ,


1

1

Быдлокод, подсмотренный в интернетах и переправленный: http://pastebin.com/RK1Qs2yw

В итоге вход не выполняется, в выводе видно. Пробовал и через главную логиниться, и через login.jsp - никакой разницы. Как это нужно правильно написать? Весь день гугл перерываю.

// P.S. pastebin отступы немного испортил

Эти слова должны помочь, инфа 100%:

<form method="POST" action="https://www.linux.org.ru//login_process">
  <input type="hidden" name="csrf" value="ioqoPvqdikI9pQpG7EWu8w==">
</form>
baverman ★★★ ()
Ответ на: комментарий от baverman

Я умственно отсталый, не помогают :(
Возникло лишь две тупые мысли:
Для логина обращаться к login_process?
Передавать поле csrf, предварительно спарсив значение?

evilmanul ()
Последнее исправление: evilmanul (всего исправлений: 1)

Возьми лучше какую-то библиотеку для заполнения форм типа mechanize. А то замучишься со всеми этими цсрф и куками.

provaton ★★★★★ ()
Ответ на: комментарий от theNamelessOne

Приму к сведению. Но уже парсером достал, и в удалённых тестовый отсыл сообщений скриптом висит :)

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

Я умственно отсталый

Мог бы и не уточнять, достаточно посмотреть на выбор ЯП.

anonymous ()
Ответ на: комментарий от Jaeger1999

Предупреждаю - выдернул кусок из своего говнокода, по-возможности почистив лишнее:
http://pastebin.com/NGCRbwMr
Тут на функции разбито, но, думаю, сможешь переделать по своему. Чтоб юзать конкретно этот кусок, сначала вызывается init() один раз, потом login(nick, passwd) чтобы залогиниться. Все дальнейшие операции с сайтом (если хотите через залогиненного юзера) проводятся только через объект opener.

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

Cпасибо большое, получилось! Только я tcurl по другому выдираю:
tcurl = re.search("(?<=value=\")\w+(?=\" name=\«tcurl)», get_url)

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