将Cookie添加到ZSI帖子
时间:2020-03-06 14:46:53 来源:igfitidea点击:
我通过重写HTTPTransport向cookiepy添加了cookie支持。我需要的功能超出了SOAPpy的功能,因此我打算迁移到ZSI,但是我不知道如何将Cookies放在服务的ZSI帖子上。没有这些cookie,服务器将认为这是未经授权的请求,并且将失败。
如何将Cookie从Python CookieJar添加到ZSI请求?
解决方案
如果我们在ZSI的client.py中阅读了_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作为字典接收是很容易的,然后可以轻松地对其进行迭代和添加。