У меня есть набор команд curl, которые я пытаюсь преобразовать в запросы Python, но я застреваю на куки.В curl инструкции говорится сделать файл cookie с помощью
curl 'https://signon.jgi.doe.gov/signon/create' --data-urlencode 'login=USER_NAME' --data-urlencode 'password=USER_PASSWORD' -c cookies > /dev/null
, что дает мне следующий файл
# Netscape HTTP Cookie File
# https://curl.haxx.se/docs/http-cookies.html
# This file was generated by libcurl! Edit at your own risk.
.jgi.doe.gov TRUE / FALSE 0 jgi_session <REDACTED>
#HttpOnly_signon-old.jgi.doe.gov FALSE / FALSE 0 _caliban_session <REDACTED>
Когда я пытаюсь сделать то же самое в запросах:
import requests
get_cookie = requests.post('https://signon.jgi.doe.gov/signon/create', data={'login':<USERNAME>, 'password': <PASSWORD>})
get_cookie.cookies
<RequestsCookieJar[Cookie(version=0, name='_caliban_session', value='<REDACTED>', port=None, port_specified=False, domain='signon.jgi.doe.gov', domain_specified=False, domain_initial_dot=False, path='/', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)]>
Возвращаемым файлом cookie является _caliban_session
, который закомментирован в файле cookie curl.Правильный файл cookie с jgi_session
в нем не возвращается.В результате мои последующие запросы на использование куки отклоняются.
Почему файлы cookie отличаются между python и curl?и как я могу получить запросы Python, чтобы соответствовать керл cookie?