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

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

有帮助吗?

解决方案

如果您在客户端阅读 _Binding类。你可以看到它有一个变量cookie,它是 Cookie.SimpleCookie 。遵循 ZSI示例 Cookie示例,它应该如何工作:

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top