У меня есть следующий локон, который успешно регистрирует меня на веб-сайте. Он возвращает 302 и cookie:
curl \
--verbose \
--request POST \
--data '__EVENTTARGET=&body%3Ax%3AtxtLogin=kingkong%40mailinator.com&body%3Ax%3AbtnLogin=&crypted_pass=736015615f9e251692a6a4aa8a7baa14' \
"https://emma.maryland.gov/page.aspx/en/usr/login"
К сожалению, я должен ввести реальное имя пользователя и зашифрованный пароль учетной записи. иначе этот завиток не сработает. Тем не менее, это полностью фиктивная учетная запись, в которой НЕТ личных данных. Поэтому, пожалуйста, не сердитесь на меня.
Я хочу преобразовать ее вКод Python3 с использованием requests.post()
. Поэтому я сделал этот код:
>>> requests.post(
... url='https://emma.maryland.gov/page.aspx/en/usr/login',
... data={
... '__EVENTTARGET': '',
... 'body:x:txtLogin': 'kingkong@mailinator.com',
... 'body:x:btnLogin': '',
... 'crypted_pass': '736015615f9e251692a6a4aa8a7baa14'
... }
... )
<Response [200]>
Но ответ, который я получаю из кода Python3 (200), не совпадает с ответом, который я получаю от Curl (302). Это означает, что целевой сервер обнаруживает разницу между двумя запросами.
Как я могу преобразовать curl в Python3, который отправляет точно такой же основной HTTP-запрос?