Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 7, 2012 12:31:11

Deuce
Зарегистрирован: 2012-11-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

Доброго времени суток.
Пробую залогиниться в ВК вот таким кодом:

from urllib import request, parse
import re
import http.cookiejar
cookie = http.cookiejar.CookieJar()
request.install_opener(request.build_opener(request.HTTPCookieProcessor(cookie)))
headers = {'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0'}
req0 = request.Request('http://vk.com/', None, headers)
response = request.urlopen(req0)
ip_h = re.findall(r'value="[a-z 0-9]{18}"', response.read().decode('cp1251'))[0]
params = parse.urlencode({'act' : 'login',
                          'role' : 'al_frame',
                          'expire' : '',
                          'captcha_sid' : '',
                          'captcha_key' : '',
                          '_origin' : 'http://vk.com/',
                          'ip_h' : ip_h,
                          'email': 'логин',
                          'pass': 'пароль'                          
                          })
bin_params = params.encode('ascii')
req = request.Request('http://vk.com/', bin_params, headers)
f = request.urlopen(req)
text = f.read().decode('cp1251')
print(text)

Авторизация не проходит, вк возвращает неизвестную ошибку, в коде страницы есть такая строка:
<noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>
Хотя хедеры я отправляю. Подскажите в чем проблема и как решить?

P.S. Видел идентичную тему на другом форуме под 2 ветку Питона, но ответа там не нашел.

Офлайн

#2 Ноя. 7, 2012 14:39:48

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

В 25й раз говорю - выкиньте urllib и возьмите requests или grab.

Офлайн

#3 Ноя. 7, 2012 14:40:50

mironich
От:
Зарегистрирован: 2011-05-23
Сообщения: 118
Репутация: +  2  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

Авторизуйся через мобильную версию, и смотри сниффером что и как идет.



Офлайн

#4 Ноя. 7, 2012 16:08:58

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

badbrowser же - поставьте другой User-Agent

Офлайн

#5 Ноя. 7, 2012 17:10:27

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

Да выкиньте вы urllib, в грабе встоенный рандом пул юзер агентов. В обоих requests и grab - сессии искаропки, любые пост и гет запросы одним вызовом. Для поста передаешь словарь или список кортежей. В грабе точно так же мультипарт пост и прокси для запроса.

Отредактировано odnochlen (Ноя. 7, 2012 17:11:56)

Офлайн

#6 Ноя. 7, 2012 17:44:39

Deuce
Зарегистрирован: 2012-11-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

odnochlen
requests и grab
А они есть под третий Питон? Ссылку пж
s0rg
поставьте другой User-Agent
Пробовал, ничего не изменилось

Отредактировано Deuce (Ноя. 7, 2012 17:59:26)

Офлайн

#7 Ноя. 7, 2012 18:54:53

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

requests точно есть, grab автор портировать не хочет. Собственно, это и удерживает меня от перехода на тройку.

Ссылка стандартная - pip install requests.

Ну а в остальном - смотри сниффером, что по сети ходит.

Отредактировано odnochlen (Ноя. 7, 2012 18:55:05)

Офлайн

#8 Ноя. 7, 2012 22:55:49

Deuce
Зарегистрирован: 2012-11-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

odnochlen
Ссылка стандартная - pip install requests.
pip в третьем похоже не поддерживается
easy_install как я понял аналог пипа, для третьего он подходит но я видимо что-то делаю не так(хелп ми)

import easy_install
easy_install requests
SyntaxError: invalid syntax

Отредактировано Deuce (Ноя. 7, 2012 22:58:43)

Офлайн

#9 Ноя. 7, 2012 22:59:11

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

Да не в питоне, а в командной строке. Ни пипа, ни изи инсталла может не быть, тогда нужно скачать бинарник distutils.

Офлайн

#10 Ноя. 7, 2012 23:20:24

Deuce
Зарегистрирован: 2012-11-07
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

Python 3 авторизация в ВК

я почему-то думал что с помощью изи_инсталла изотсюда, ну щас пойду искать бинарник, надеюсь в этот ра найду то что нужно

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version