Вопрос

Я добавил поддержку файлов cookie в SOAPpy, переопределив HTTPTransport.Мне нужна функциональность, выходящая за рамки SOAPpy, поэтому я планировал перейти на ZSI, но не могу понять, как разместить файлы cookie в сообщениях ZSI, отправляемых в службу.Без этих файлов cookie сервер посчитает, что это несанкционированный запрос, и завершится неудачей.

Как добавить файлы cookie из Python CookieJar в запросы ZSI?

Это было полезно?

Решение

Если вы прочтете _Класс привязки в client.py ZSI вы можете видеть, что у него есть переменная cookie, которая является экземпляром Cookie.SimpleCookie.После Пример ЗСИ и Пример файла cookie вот как это должно работать:

b = Binding(url='/cgi-bin/simple-test', tracefile=fp)
b.cookies['foo'] = 'bar'

Другие советы

Кроме того, класс Binding также позволяет добавлять любой заголовок.Итак, я понял, что могу просто добавить заголовок «Cookie» для каждого файла cookie, который мне нужно добавить.Это хорошо сработало для кода, сгенерированного wsdl2py, просто добавив файлы cookie сразу после формирования привязки в клиентском классе SOAP.Добавить параметр в сгенерированный класс для приема файлов cookie в качестве словаря легко, а затем их можно легко перебирать и добавлять.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top