2

我通过覆盖 HTTPTransport 为 SOAPpy 添加了 cookie 支持。我需要 SOAPpy 之外的功能,所以我计划迁移到 ZSI,但我不知道如何将 Cookie 放在 ZSI 发布到服务的帖子上。如果没有这些 cookie,服务器会认为这是一个未经授权的请求并且会失败。

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

4

2 回答 2

1

如果您阅读ZSI 的 client.py 中的 _Binding 类,您可以看到它有一个变量 cookies,它是Cookie.SimpleCookie的一个实例。按照ZSI 示例Cookie 示例,它应该如何工作:

b = Binding(url='/cgi-bin/simple-test', tracefile=fp)
b.cookies['foo'] = 'bar'
于 2008-09-28T10:15:27.800 回答
0

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

于 2008-09-29T11:55:11.467 回答