将Cookie添加到ZSI帖子

时间:2008-09-26 12:45:01

标签: python web-services cookies soappy zsi

我通过覆盖HTTPTransport为SOAPpy添加了cookie支持。我需要超出SOAPpy的功能,因此我计划转移到ZSI,但我无法弄清楚如何将Cookie放在为服务制作的ZSI帖子上。如果没有这些cookie,服务器会认为这是一个未经授权的请求,它将失败。

如何将Python CookieJar中的Cookie添加到ZSI请求中?

2 个答案:

答案 0 :(得分:1)

如果您阅读_Binding class in client.py of ZSI,则可以看到它有一个变量Cookie,这是Cookie.SimpleCookie的一个实例。遵循ZSI exampleCookie example,它应该如何运作:

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

答案 1 :(得分:0)

此外,Binding类还允许添加任何标头。所以我发现我可以为我需要添加的每个cookie添加一个“Cookie”标题。这适用于wsdl2py生成的代码,只是在SOAP客户端类中形成绑定后立即添加cookie。将一个参数添加到生成的类中以将cookie作为字典接收是很容易的,然后可以轻松地迭代并添加它们。