@Kactus

Как авторизироваться в ВК?

Доброй ночи. Мне нужно взять из куки вк remixsid, в браузере они ставятся после аторизации, но вот в программе ставиться только remixir=DELETED, remixlang=6, remixtst=DELETED, и remixstid=много чисел. Как заставить его получить remixsid, авторизация проходит успешно
import requests
import urllib
import json
import re
from bs4 import BeautifulSoup

email = ""
passw = ""

headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36", "cookie": "remixlhk=95e7a3b471fa495aa0;"}
content_main = requests.post('https://vk.com/login', headers=headers)
soup = BeautifulSoup(content_main.text, 'lxml')
ip_h = soup.find("input", attrs={'name':'ip_h', 'type':'hidden'})['value']
lg_h = soup.find("input", attrs={'name':'lg_h', 'type':'hidden'})['value']
params1 = {'act':'login', '_origin':'https://vk.com', 'ip_h':ip_h, 'lg_h':lg_h, 'email':email, 'pass':passw}
encoded_params1 = urllib.parse.urlencode(params1).encode('utf-8')
login_one = urllib.request.urlopen(urllib.request.Request("https://login.vk.com", encoded_params1, headers))
print(login_one.geturl())

q_hash = re.split(r'=', login_one.geturl())[6]
soup1 = BeautifulSoup(login_one.read(), 'lxml')
ip_h = soup1.find("input", attrs={'name':'ip_h', 'type':'hidden'})['value']
lg_h = soup1.find("input", attrs={'name':'lg_h', 'type':'hidden'})['value']
login_last_url = 'https://vk.com/login.php?act=login&role=fast&redirect=1&to=&s=1&__q_hash={q_hash}&ip_h={ip_h}&lg_h={lg_h}&email={email}&pass={passw}'
params2 = {'act':'login', 'role':'fast', 'redirect':1, 'to':'', 's':1, '__q_hash':q_hash, 'ip_h':ip_h, 'lg_h':lg_h, 'email':email, 'pass':passw}
encoded_params2 = urllib.parse.urlencode(params2).encode('utf-8')
login_last = urllib.request.urlopen(urllib.request.Request(login_last_url, encoded_params2, headers))
login_last2 = urllib.request.urlopen(urllib.request.Request(login_last_url, encoded_params2, headers))
print(login_last2.info())
  • Вопрос задан
  • 59 просмотров
Решения вопроса 2
SoreMix
@SoreMix
yellow
Как минимум - не пользуетесь requests.Session()
Что за ошибка то?
Ответ написан
@Kactus Автор вопроса
Сделал вообще по другому, не через remixsid, а через просто сессию
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы