我已經通過覆蓋HTTPTransport爲SOAPpy添加了cookie支持。我需要的功能超出了SOAPpy的功能,所以我計劃轉移到ZSI,但我無法弄清楚如何將這些Cookies放在ZSI的職位上。沒有這些cookie,服務器會認爲這是一個未經授權的請求,並且會失敗。將Cookie添加到ZSI的帖子
如何將Cookie CookieJar中的Cookie添加到ZSI請求中?
我已經通過覆蓋HTTPTransport爲SOAPpy添加了cookie支持。我需要的功能超出了SOAPpy的功能,所以我計劃轉移到ZSI,但我無法弄清楚如何將這些Cookies放在ZSI的職位上。沒有這些cookie,服務器會認爲這是一個未經授權的請求,並且會失敗。將Cookie添加到ZSI的帖子
如何將Cookie CookieJar中的Cookie添加到ZSI請求中?
如果您閱讀_Binding class in client.py of ZSI,您會發現它有一個變量cookie,它是Cookie.SimpleCookie的一個實例。繼ZSI example和Cookie example這是它應該是如何工作的:
b = Binding(url='/cgi-bin/simple-test', tracefile=fp)
b.cookies['foo'] = 'bar'
此外,Binding類還允許添加任何頭。所以我發現我可以爲每個需要添加的cookie添加一個「Cookie」標頭。這適用於wsdl2py生成的代碼,只需在SOAP客戶端類中形成綁定後立即添加cookie即可。向生成的類中添加一個參數以將cookie作爲字典容易獲取,然後可以輕鬆地迭代並添加它們。