Добавление Cookie в сообщения ZSI - PullRequest
2 голосов
/ 26 сентября 2008

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

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

Ответы [ 2 ]

1 голос
/ 28 сентября 2008

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

b = Binding(url='/cgi-bin/simple-test', tracefile=fp)
b.cookies['foo'] = 'bar'
0 голосов
/ 29 сентября 2008

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

...