Я использую python 3.8. Я пытаюсь использовать библиотеку Zeep для использования ресурса компании SOAP. Услуга SOAP устарела и не будет обновляться в ближайшее время. Одна из проблем с этим заключается в том, что служба устанавливает «идентификатор сеанса» в ответе cook ie. Он устанавливает теперь устаревший заголовок set-cookie2
.
from requests import Session
from zeep import Client, Settings
from zeep.cache import SqliteCache
from zeep.transports import Transport
my_session = Session()
my_settings = Settings(strict=False)
my_cache = SqliteCache()
my_url = 'https://lists.mycompany.com/lists/wsdl'
client = Client(
my_url,
transport=Transport(
session=my_session,
cache=my_cache
),
settings=my_settings
)
...
Я вижу объект cook ie в my_session
. Это RequestsCookieJar
, и я не могу понять, как установить значения политики cook ie. В отладчике pycharm я вижу, что my_session.cookies
имеет «Защищенные атрибуты», и один из них - _policy
, который является объектом DefaultCookiePolicy
. Я вижу, что hide_cookie2
имеет значение False (значение по умолчанию и то, что мне нужно), но что rfc2965
также имеет значение False и должно быть установлено в True.
В классе RequestsCookieJar
я вижу get_policy()
метод, но ничего для установки политики. Мне где-то не хватает связи. Как установить политику Cook ie для всего приложения или для каждого запроса?