2

我正在使用 zeep 连接到 api。

此 api 需要在标头中进行身份验证。

我有 api 密钥,我有密钥,现在我的问题是如何将它与 zeep 一起使用?我不知何故只是不理解 Zeep 文档中的逻辑,请有人向我解释逻辑。谢谢你。

from zeep import Client

auth_key = '1#something'
secret_key = '2#something'

a=Client('https://example?WSDL')
a.service.Getsomething()

output > fail because of wrong auth or secret key

我也不明白为什么 Signature 不与 Zeep 合作。我需要安装 xmlsec,但我不能因为 p..config 文件的一些错误而我已经放弃了这个......希望我不需要为此签名?

谢谢

4

1 回答 1

0

我认为传递一个 lxml 元素对象是你可以尝试的。

例如:

headers = etree.XML('<header><a><b/></a></header>')

然后将参数传递给请求

a.service.Getsomething(_soapheaders=[*headers])
于 2020-08-19T00:12:53.110 回答