Я пытаюсь использовать python для входа на локальный сайт и запускаю некоторые API-тесты. Это означает, что когда мы выполняем POST
для входа в систему, он должен повторно использовать куки, отправленные сервером, чтобы последние запросы были правильно аутентифицированы.
Однако, несмотря на возвращаемый заголовок Set-Cookie
, файл cookie пуст. Как новичок в Python, я не могу понять, что я делаю неправильно.
>>> import requests
>>> session = requests.session()
>>> response = session.post("http://localhost:46551/login", {'Email':'dev', 'Password':'1234'})
>>> print(response)
<Response [200]>
>>> print(response.cookies)
<RequestsCookieJar[]>
>>> response.headers
{'Cache-Control': 'no-cache', 'Pragma': 'no-cache', 'Content-Type': 'application/json; charset=utf-8', 'Expires': '-1', 'Server': 'Microsoft-IIS/10.0', 'UnAuthenticatedUser': 'true', 'X-AspNet-Version': '4.0.30319', 'Set-Cookie': 'Fuze=SOME-VALUE-HERE; domain=localhost; expires=Wed, 12-Sep-2018 15:05:22 GMT; path=/; HttpOnly, profile=29; domain=localhost; path=/; HttpOnly', 'X-SourceFiles': '=?UTF-8?B?QzpcY29kZVx3b3JrXGNhcmVzdGFja1xDYXJlU3RhY2suVW5pZmllZC5tc2hhcGlyb1xDYXJlU3RhY2suQmFja2VuZFxDYXJlU3RhY2suV2ViXGxvZ2lu?=', 'X-Powered-By': 'ASP.NET', 'Date': 'Wed, 12 Sep 2018 14:29:22 GMT', 'Content-Length': '42'}
>>> len(response.cookies)
0
Важным файлом cookie в этом примере является файл cookie Fuze
с токеном сеанса. Срок действия истек 30 минут с момента запроса.
Я делаю что-то не так или это приложение отправляет странный cookie-файл, который Python не может обработать?