Нашел код для авторизации, он вроде работает:
import lxml.html import requests login = 'логин' password = 'пароль' url = 'https://vk.com/' headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 6.0; rv:14.0) Gecko/20100101 Firefox/14.0.1', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language':'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding':'gzip, deflate', 'Connection':'keep-alive', 'DNT':'1' } session = requests.session() data = session.get(url, headers=headers).content page = lxml.html.fromstring(data) form = page.forms[0] form.fields['email'] = login form.fields['pass'] = password response = session.post(form.action, data=form.form_values()) print(response.text)
Помогите разобраться, как в будущем самому смотреть какие post запросы куда с сайта отправляются, и как их отловить, чтобы потом перенести в python.
P.S.
Сделал, как говорил пользователь Mr Morgan
и получил такие вот значения
act:a_send al:1 gid:0 guid:151773532908381 hash:1517735163_cd46fbd56673503461 im_v:2 media: msg: test message random_id:626404632 to: id того, кому я писал
Дальше Mr Morgan писал
Вы увидите значения переменных, их нужно указывать в качестве словаря(аналогично headers), но передавать в качестве data.
Но переменные guid
, hash
и random_id
постоянно меняются, как их формировать?
Google Chrome
F12
-> Вкладка Network
->
делаете так, чтобы браузер отправил форму(нажимаете кнопку войти
или подобные) ->
нажимаете красную кнопку(stop record) -> просматриваете запросы, которые Вы поймали.
В остальных браузерах нужно найти панель разработчика и сделать аналогичные действия.
Вы увидите значения переменных, их нужно указывать в качестве словаря(аналогично headers), но передавать в качестве data.
session.post(..., data={...})