@lnxlnxlnx

Как авторизоваться на сайте через requests?

Всем доброго времени суток!
Столкнулся с проблемой авторизации на сайте https://easypay.ua/auth/login
Мучительно пытался найти ответ среди готовых, но видимо плохо искал.Буду благодарен, даже какой-то отсылке к подобным вопросам.
Вручную ввёл данные для входа и через инструменты разработчика нашёл запрос, который формируется, вытащил оттуда параметры и заголовки, сделал пост-запрос, получил обратно json(refresh_token, access_token,ID, username и пару дат истечения времени). В скрипте делал запрос, создавая предварительно сессию для сохранения куки, чтоб дальше работать с сайтом. Но мои возможности закончились на втором шаге, куки не удавалось пробрасывать и сайт просто не принимал авторизацию, выдавая страничку с авторизацией. Очень нуждаюсь в помощи.Спасибо заранее за любую помощь
Редактировано:
Сам запрос, сформированный сайтом: 5fb178ed14501523128823.png
def autorithation():
    session = requests.Session()
    base_url = 'https://api.easypay.ua/api/token'
    data = {'grant_type': 'password',
            'username': 'my_username',
            'password': 'my_password',
            'client_id': 'easypay-v2'}
    headers = {'Accept': 'application/json, text/plain, */*',
               'Accept-Encoding': 'gzip, deflate, br',
               'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3',
               'AppId': '0f190bcb-1ab4-4e95-a6da-e65417898dd6',
               'Connection': 'keep-alive',
               'Content-Length': '93',
               'Content-Type': 'application/json; charset=UTF-8',
               'GoogleClientId': 'GA1.2.32615162.1605391514',
               'Host': 'api.easypay.ua',
               'locale': 'ua',
               'Origin': 'https://easypay.ua',
               'PageId': 'f16813f9-64e2-4aff-b878-080b9cc9200d',
               'PartnerKey': 'easypay-v2',
               'Referer': 'https://easypay.ua/ua',
               'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:82.0) Gecko/20100101 Firefox/82.0'}
    ans = session.post(base_url, data=data, headers=headers)
    return ans


def get_history():
    auth = autorithation()
    base_url = 'https://easypay.ua/profile/history'
    responce = requests.get(base_url, cookies=auth.cookies)

p.s. 400 - лимит авторизаций. Так выдает 200
  • Вопрос задан
  • 755 просмотров
Решения вопроса 1
@lnxlnxlnx Автор вопроса
Как говорится, лучший способ найти решение - найти его самому.
Разобрался с работой багатой API'шки.
И так, когда авторизация проходит(/auth/login) - получаем два токена(refresh_token, access_token), мне нужен в дальнейшем только access_token . Внутренности возвращаются, я их храню для дальнейшего использования.
В следущем get-запросе истории платежей нужен только лишь наш acess_token в заголовке запроса атрибута Authorization, использую его и получаю свою начинку с полностью доступной API.
5fb39742d51c1726939775.png
Спасибо SoreMix и dimonchik2013 за помощь
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
такое ВСЕГДА нужно начинать с Postman

потом уже бороться requests
Ответ написан
Ваш ответ на вопрос

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

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