Хочу сделать авторизацию сессиями(requests)
python в сервисе
мой мир
и далее загрузить фото профиля.
Естественно селениумом я уже все сделал, но если что-то поменяется, то весь скрипт полетит, например банер появится.
Пожалуйста помогите, уже 3 дня не могу сделать. Я пробовал повторять запросы через Burp Suite, смотрел как браузер шлет запросы, это не помогло. У mail есть свое апи, но чтобы зарегать приложение обязательно нужно делать это руками или селениумом + мой мир там не поддерживается те методы, которые мне нужны.
Вот что выдает burp suite

Так же я не смог найти куда я должен писать логин и пароль чтобы авторизовать. В дате находятся какие-то странны значения, которые нигде не взять.
При загрузки фотографии появились так же неприятности, даже если я вписывал кукисы браузера.
Вообще не ясно что писать в дате чтобы запрос обработался.
Все что пока что получилось сделать, это авторизацию в
light mail ru, но в мой мир нужны другие куки
кукисы поменял, так что не пробуйте их использовать
Код который я пытался использовать для загрузки картинки
import requests
cookies = {
'$act': 'a83d04d4d54840d9adca40ced24262c6',
'mrcu': 'CB44619E6BB71E86F4999B6CEC6D',
'p': 'AHMAABb/VgAA',
'tmr_lvid': 'd12c1003ee8804c32ef6ec0a88c2e284',
'tmr_lvidTS': '1620995001627',
't': 'obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACAAAkB0AcA',
's': 'octavius=1',
'Mpop': '1620995011:465c517d057b54581905000017031f051c054f6c5150445e05190401041d0309000750575e5d5d51595e595b145c555e551f4243:2001angelahill@mail.ru:',
'sdcs': 'SZfKeBy4GAu3jXcd',
'hses': '1',
'searchuid': '7146720301620995113',
'VID': '2C2TgT0spz2200000U0yD4o2:::5b8c4e7-0-0-5b8c479:CAASED9cbdpJckH17mJp6cbZzXQaYBveTHgwffXN__f8EjhxqjjJ1tRo5ahnoO5M0QzUy5iGzpX3dea5vHhLU74XxH_UNvLChywNBRTH2X0fS7oeBBt2oAq49-O-r5exhY3nJORAMwu1bi78YJPbyTyweZhYSA',
'_showsc_1921420075': '1',
'c': 'MGyeYAEAEHsTAAAUAQAACQDgmVbIAQAA',
'b': 'SEkCAJCp1/0AJwnWhgAAAAIA',
'tmr_reqNum': '38',
}
headers = {
'Host': 'upload-12.my.mail.ru',
'Connection': 'close',
'Content-Length': '51232',
'sec-ch-ua': '\\"Chromium\\";v=\\"89\\", \\";Not A Brand\\";v=\\"99\\"',
'Accept': '*/*',
'sec-ch-ua-mobile': '?0',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
'Content-Type': 'multipart/form-data; boundary=----WebKitFormBoundaryhOu76ALnKJYjALeM',
'Origin': 'https://my.mail.ru',
'Sec-Fetch-Site': 'same-site',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://my.mail.ru/',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'en-US,en;q=0.9',
}
with open('/home/depocode/Downloads/images/image_1', 'rb') as file:
content = file.read()
response = requests.post('https://upload-12.my.mail.ru/uploadphoto', headers=headers, cookies=cookies, data={'file': content})
пытался залогиниться
resp = s.post('https://auth.mail.ru/cgi-bin/auth', data={
'username': '2001angelahill@mail.ru',
'password': '_53uJpe%$y'}
)
пытался залогиниться v.2
import requests
cookies = {
'p': '1gACOM/9BwAA',
'searchuid': '692413531621243871',
'mrcu': '50D360A237E002DA059A9B6CEC6D',
'tmr_lvid': '7a77320aa5f463ec54e25a81bdad2707',
'tmr_lvidTS': '1631243873831',
'act': '5d695f26353c4bfc8906987b7765169d',
't': 'obLD1AAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACAAAkB0AcA',
'b': 'S0kBAJC6tnQA30EShRMAAEA4rxVdBwAA',
'c': 'jTiiYAEAEHsTAAAUAQAACQDgfVbIAQAA',
'i': 'AQCNoKJgAQDJAAUCAQA=',
'Mpop': '1618475646:5f4e64655474517c1905000017031f051c054f6c5150445e05190401041d0309000750575e5d5d51595e595b145c555e551f4243:2001afgelahill@mail.ru:',
'tmr_reqNum': '13',
'VID': '1rQ6E70909Y200000U0yD4o2:::5bc9148-0-0-5bc90a2:CAASENmXgK9GeWpGuARl3u_XPEUaYJqljFU1XFnUgFGp78kic3ZKPJXSgD3AQZ6Ey9bs4gIN4_6AaBHWQjaVHghf-X9rpqugX1Ea2WQJX5vvYv-kORPZ5OxuW95_EKiPZRTv0jz2Bq0efIsSDiYcl8TRfCazrA',
}
headers = {
'Host': 'account.mail.ru',
'Connection': 'close',
'Content-Length': '164',
'sec-ch-ua': '\\"Chromium\\";v=\\"89\\", \\";Not A Brand\\";v=\\"99\\"',
'sec-ch-ua-mobile': '?0',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
'Content-Type': 'text/plain;charset=UTF-8',
'Accept': '*/*',
'Origin': 'https://account.mail.ru',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://account.mail.ru/login/?mode=simple&v=2.8.1&account_host=account.mail.ru&type=login&modal=1&allow_external=1&success_redirect=https%3A%2F%2Fmy.mail.ru%2F&opener=mail.login&noinnerscroll=1&wide=1&rebranding2018=1&parent_url=https%3A%2F%2Fe.mail.ru%2Fcgi-bin%2Flogin%3Flang%3Den_US%26page%3Dhttps%3A%2F%2Fmy.mail.ru%2F',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'en-US,en;q=0.9',
}
params = (
('p', 'login'),
('split', 's10273.b1s'),
('r', 'https://e.mail.ru/'),
('pgid', 'koseulnr.pds'),
)
data = 'batch=%5B%7B%22v%22%3A%221%22%2C%22skipdwh%22%3A%22false%22%2C%22i%22%3A%22form_submit%3A1%22%2C%22t%22%3A%22mail-login_ref_mymailru%22%2C%22uid%22%3A%2257%22%7D%5D'
response = requests.post('https://account.mail.ru/api/v1/utils/xray/batch', headers=headers, params=params, cookies=cookies, data=data)
upd. нашел мобайл версию и логинюсь так, только теперь надо другую штуку обойти
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Language': 'en-US,en;q=0.5',
'Content-Type': 'application/x-www-form-urlencoded',
'Origin': 'https://m.my.mail.ru',
'Connection': 'keep-alive',
'Referer': 'https://m.my.mail.ru/',
'Upgrade-Insecure-Requests': '1',
'Sec-GPC': '1',
}
data = {
'Login': '1998christoaherwatkins@mail.ru',
'Domain': 'mail.ru',
'Password': '+9C5U2cfCO',
'page': 'https://m.my.mail.ru/',
'FailPage': 'https://m.my.mail.ru/cgi-bin/login?infomessage=bad_password&page=https://m.my.mail.ru/'
}
s = requests.session()
response = s.post('https://auth.mail.ru/cgi-bin/auth?rand=2777947971', headers=headers, data=data)

upd 2. эту штуку я тоже уже обошел, но теперь кукисы не подходят для обычной версии сайта они очень сильно поломались сайт поломался код как я обошел подтверждение номера
resp = s.post('https://account.mail.ru/api/v1/user/copper',
json={'fields': {"phone": phone}, 'htmlencoded': False})
resp.raise_for_status()
if resp.json().get('body'):
url = resp.json()['body']['url']
response = s.get(url)
response.raise_for_status()
Буду рад любой помощи, всем добра.