как выполнить post-запрос так же, как в браузере, чтобы получить те же результаты

#python #http #post #https #python-requests

#python #http #Публикация #https #python-запросы

Вопрос:

У меня есть эта веб-страница: https://www.dsbmobile.de . Я хотел бы автоматизировать бота, который регистрируется и получает самый новый файл. У меня есть учетная запись и учетные данные для входа, поэтому я попробовал это с помощью python:

 import requests

url = "https://www.dsbmobile.de/Login.aspx?ReturnUrl=/"

payload = {'txtUser': 'username', 'txtPass': 'password'}

x = requests.post(url, data=payload)

print(x.text)
  

Я получаю результат, но это просто страница входа в систему, а не новая страница, на которую я должен быть перенаправлен.
При просмотре источника я увидел, что есть скрытые поля ввода, такие как «__EVENTVALIDATION»
нужно ли мне отправлять их тоже? Или, может быть, мне нужно установить что-то в idk заголовка. Было бы очень хорошо, если бы кто-нибудь мог сказать мне, как написать post-запрос так же, как браузер отправляет его, чтобы я получил правильный ответ

Я новичок, но для меня было бы чрезвычайно полезно, если бы я мог автоматизировать этот процесс.

Большое вам спасибо за попытку мне помочь

Комментарии:

1. Если вы входите в службу, вам нужно настроить сеанс (чтобы иметь возможность сохранять возвращаемые файлы cookie). Библиотека запросов также обрабатывает создание этого сеанса для вас. Что касается других полей, которые вы должны использовать для входа в систему, вы, вероятно, захотите открыть свои инструменты разработки в браузере и посмотреть, какие значения отправляются при входе в систему. Я полагаю, что это будет на вкладке «Сеть» большинства браузеров.

2. мне трудно определить правильные вещи.. не могли бы вы немного лучше объяснить, что вы подразумеваете под значениями

3. Значения, указанные в значениях, которые ваш браузер отправляет с запросом на вход. «__EVENTVALIDATION» может быть одним из них, это действительно зависит от веб-сайта. Возможно, они вам даже не понадобятся. Если вы используете инструменты разработчика вашего браузера, на вкладке «Сеть» (в Firefox) отображается каждый выполненный запрос, и он будет включать всю отправляемую информацию, включая значения в теле и любые заголовки. Возможно, вам придется немного поискать, чтобы найти точный запрос, но они также позволяют довольно легко фильтровать.

4. большое вам спасибо, я попробую это