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

POST запрос в модуле request python?

Программно отправляю POST запрос
import requests
url = "https://login.1c.ru/login?service=https%3A%2F%2Freleases.1c.ru%2Fpublic%2Fsecurity_check"
data = {'username':'Test','password':'Test2'}
print(requests.post(url, data = data).text)

Но почему-то в ответе username не принимает никакого значения, а в password появляется 2 value и один из них равен test2
input id="password" name="password" class="required span12 form-control" tabindex="2" value="Test2" type="password" value=""

input id="username" name="username" class="required span12 form-control" tabindex="1" spellcheck="false" type="text" value="

Причем, когда я в запросе задаю, значения допустим для "execution"(Эти значения заполняет сам сайт), то в ответе я получаю информацию о том, что на их сервер произошла ошибка. Иначе говоря мои POST запросы влияют на значения других переменных, но не на username и password, в чем проблема?
  • Вопрос задан
  • 1282 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
x67
@x67
Зайдите на сайт в браузере, откройте менеджер запросов (вкладка сеть для ff)
введите логин и пароль, нажмите кнопку. Теперь вам надо найти запрос, который отправился на сервер. Смотрите и анализируете все его хедеры, параметры. Вам нужно программно сделать точно такой же запрос. Причем если какие-то данные не являются статическими, а генерятся во время/ перед выполнением запроса, вам нужно сделать также. Например в запросе помимо логина/пароля может быть текущее время. И для того что бы скрипт работал, вы также должны отправлять это время на сервер.
То, что вы отправляете сейчас, не отправит в таком виде ни один браузер.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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