SOAP API 获取 Cookie

问题描述 投票:0回答:1

我正在使用一个SOAP API来获取一个带有Cookie的认证密钥,这个Cookie应该被返回。

from zeep import Client
client = Client("AuthenticationService.xml")
result = client.service.ValidateUser(username, password, "")
result

然而,我得到的结果是一个True的布尔值,但没有包含认证密钥的Cookie。

从下面的图片中,你可以看到,使用SoapUI的相同请求会返回一个Cookie。我想知道如何在Python中做到这一点。

SoapUI Software Response

python soap wsdl soapui zeep
1个回答
4
投票

为了能够处理 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

希望能帮到你

© www.soinside.com 2019 - 2024. All rights reserved.