#python #python-requests #http-post
Вопрос:
Я пытаюсь предоставить параметр «mfa-код» для запроса post с использованием запросов python, но в ответ я получаю, что параметр «mfa-код» отсутствует, хотя я пытаюсь предоставить его через requests.post(url, data={"mfa-code": "0000"})
и также пытался requests.post(url, json={"mfa-code": "0000"})
.
Вот что я пытаюсь отправить.
POST /login2 HTTP/1.1
Host: redacted.net
Cookie: session=qexMWyQnLtSlBI8B005qnVW4OYvEwEV2; verify=wiener
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
Accept-Encoding: gzip, deflate
Referer: https://redacted.net/login2
Content-Type: application/x-www-form-urlencoded
Content-Length: 13
Origin: https://redacted.net
Upgrade-Insecure-Requests: 1
Dnt: 1
Sec-Gpc: 1
Te: trailers
Connection: close
mfa-code=0000
И это запрос, который я отправляю со своим скриптом python
import requests
url = "redacted.net"
data={"mfa-code": "0000"}
r = reqeusts.post(url, data=data)
print(r.text)
Это приводит к тому, что в ответе указывается только:
«Отсутствует параметр» mfa-код»»
Я обратил внимание в ответе и на то, как mfa-код окружен’, поэтому я пошел в репитер burp и поставил одинарные кавычки на mfa-код и, конечно же, получил ту же ошибку. Затем я попробовал использовать другие параметры, такие как json=json.dumps(данные), но для того же результата, что и для запросов, требуется параметр тела СООБЩЕНИЯ типа переменная=данные, а не объект json.
Что я здесь упускаю? Или это то, что запросы python не могут сделать?
Комментарии:
1. Ваш код не отправляется
application/x-www-form-urlencoded
в качестве типа контента. Возможно, в этом и заключается проблема.2. Может быть, попробуем
r = requests.post(url, params={'mfa-code': '0000'})
, так как в сообщении об ошибке говоритсяMissing parameter 'mfa-code'
3. @mama «params=» — это вещь для получения, на самом деле не работает с ПОЧТОЙ, но да, я тоже пробовал это в своем отчаянии, ха-ха.
4. Я добавил
headers = {'Content-type': 'application/x-www-form-urlencoded'}
, а затем изменил свой запрос на публикацию следующимr = requests.post(url, headers=headers, data=data)
образом, но результат все тот же.