我正在使用一个SOAP API来获取一个带有Cookie的认证密钥,这个Cookie应该被返回。
from zeep import Client
client = Client("AuthenticationService.xml")
result = client.service.ValidateUser(username, password, "")
result
然而,我得到的结果是一个True的布尔值,但没有包含认证密钥的Cookie。
从下面的图片中,你可以看到,使用SoapUI的相同请求会返回一个Cookie。我想知道如何在Python中做到这一点。
为了能够处理 cookie
,我们必须使用 requests.Session
对于 transport
.
所以一个简单的用例对你来说是这样的。
from zeep import Client
from requests import Session
from zeep.transports import Transport
session = Session()
# disable TLS verification
session.verify = False
transport = Transport(session=session)
client = Client("AuthenticationService.xml", transport=transport)
result = client.service.ValidateUser(username, password, "")
# then check cookie
client.transport.session.cookies
希望能帮到你