Найти - Пользователи
Полная версия: Python 3 авторизация в ВК
Начало » Network » Python 3 авторизация в ВК
1 2
Deuce
Доброго времени суток.
Пробую залогиниться в ВК вот таким кодом:
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 ветку Питона, но ответа там не нашел.
odnochlen
В 25й раз говорю - выкиньте urllib и возьмите requests или grab.
mironich
Авторизуйся через мобильную версию, и смотри сниффером что и как идет.
s0rg
badbrowser же - поставьте другой User-Agent
odnochlen
Да выкиньте вы urllib, в грабе встоенный рандом пул юзер агентов. В обоих requests и grab - сессии искаропки, любые пост и гет запросы одним вызовом. Для поста передаешь словарь или список кортежей. В грабе точно так же мультипарт пост и прокси для запроса.
Deuce
odnochlen
requests и grab
А они есть под третий Питон? Ссылку пж
s0rg
поставьте другой User-Agent
Пробовал, ничего не изменилось

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

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

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

import easy_install
easy_install requests
SyntaxError: invalid syntax
odnochlen
Да не в питоне, а в командной строке. Ни пипа, ни изи инсталла может не быть, тогда нужно скачать бинарник distutils.
Deuce
я почему-то думал что с помощью изи_инсталла изотсюда, ну щас пойду искать бинарник, надеюсь в этот ра найду то что нужно
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB