Задать вопрос
@Velays

Как осуществить авторизацию на сайте через requests?

Есть сайт игрушка (не реклама или ещё что-то!), через код элемента я нашел нужные значения данных для входа, а именно 'login' и 'pass'. Далее написал код для входа по этим данным и записи результата в отдельный .txt файлик.

import requests

datas = { 'pass' : '', 'login' : ''
}

nick = input("ник пользователя: ")
passw = input("пароль: ")

datas['login'] = nick
datas['pass'] = passw

url = 'http://tiwar.ru/?sign_in=1'

s = requests.Session()
nicking = s.post(url, data = datas)

f =open('result.txt', 'w+')
f.write(nicking.text)
f.close()


Сам скрипт работает без ошибок.
Только когда я пытаюсь войти, указав правильные данные, в результате .txt файла показывает, что неверный пароль или логин.
Через .txt файл видно, что данные вводятся
Что может быть не так?
  • Вопрос задан
  • 70 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
DedIsDead
@DedIsDead
import requests
import sys


def main():
    #Ссылка
    base_url = 'https://google.com'
    #Ссылка на логин на сайте
    login = base_url + '/v3/signin'

    # https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent
    # для ваших запросов используйте такую форму:
    #  User-Agent: <название-продукта> / <версия продукта> <комментарий>
    user_agent = 'nameless-project / 0.0.1 (Python {0})'.format(sys.version[:5])

    # открытие сессии
    session = requests.Session()

    # обновление headers сессии
    session.headers.update({'User-Agent': user_agent})

    # авторизация
    resp = session.post(login, {
        'login': '<логин>',
        'passw': '<пароль>',
        'recaptcha': '<результат-после-успешного-прохождения-капчи>'})

    # запись ответа в файл
    with open('success_login.txt', 'w', encoding='utf-8') as f:
        f.write(str(resp.json()))


if __name__ == "__main__":
    main()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы