从SUDS中的肥皂响应中提取cookie



我必须使用具有多个服务的API。所有这些都需要下面的身份验证曲奇。但是,当我调用下一项服务时,它不会保留cookie,因此拒绝它们。

from suds.client import Client
url = 'http://example/ws/Authenticate?wsdl'
client = Client(url)
result = client.service.connect(username='admin', password='admin')
print client.options.transport.cookiejar
>>> <cookielib.CookieJar[<Cookie JSESSIONID=XXXXXXXXXX for localhost.local/Service/>]>

我相信,保留此cookie的方法是提取它,然后将其作为格式的自定义标头提供: -

url = 'http://example/ws/dostuffnowloggedin?wsdl' 
client2 = Client(url, headers= { 'Cookie': 'JSESSIONID=value'})

但我不知道该怎么做。我已经回顾了Suds Docs,url2lib和cookiejar python文档,浏览了stack&amp;问Reddit。这是我在堆栈上问的第一个问题,我试图使其有意义且具体,但是如果我犯了一个人造的标准杆,请告诉我,我会尽力纠正它。

尝试这个。

from suds.client import Client
url = 'http://example/ws/Authenticate?wsdl'
client = Client(url)
result = client.service.connect(username='admin', password='admin')
url2='url of second service'
client2=Client(url2)
client2.options.transport.cookiejar=client.options.transport.cookiejar

最新更新