我需要与要求“抢占式身份验证”(它使用BasicAuth)的SOAP服务器对话。
我不知道如何配置zeep客户端,使其能够相应地运行。
正如它所说的这里,SoapUI工具可以配置为使用“先发制人身份验证”。
谁能帮我实现同样的目标吗?(配置zeep或请求)
下面是我的代码,这是非常标准的:
session = Session()
session.verify = False # ignore certificate
session.auth = HTTPBasicAuth(user, pwd)
transport = Transport(session=session)
client = Client(wsdl, transport=transport)
# ...
response = client.service.Operation(**params)
上面的验证失败,最终导致SSL错误,这是预期的。
任何帮助都是非常感谢的。谢谢
发布于 2022-01-11 15:42:29
理论上,您应该能够通过创建会话和直接修改标头来做到这一点。这样,头将与原始请求一起发送,而不是使用等待挑战的auth行为。
import requests
session = requests.Session()
session.headers['Authorization'] = 'Basic ' + <your 64-bit encoded user:pass>
transport = zeep.Transport(session=session)
client = zeep.Client(wsdl=soapURI,transport=transport)
https://stackoverflow.com/questions/58098443
复制相似问题