我是 Python 新手,我使用 suds 作为 wsdl 客户端。如何为此创建自定义请求 header 。
从 SOAP UI 获取 XML:
<soapenv:Header>
<sbus:SBusContext message-tracking-id="?" correlation-id="?" entry-dtime="?" timestamp="?" entry-system="?" entry-system-principal="?" entry-url="?" priority="?">
<!--Optional:-->
<sbus:Keys>
<!--1 or more repetitions:-->
<sbus:Key keyType="?" keyValDataType="string">
<sbus:KeyValue>?</sbus:KeyValue>
</sbus:Key>
</sbus:Keys>
<!--Optional:-->
<sbus:ExtContext>?</sbus:ExtContext>
</sbus:SBusContext>
</soapenv:Header>
最佳答案
编辑-
我意识到您可能在询问 SOAP header ,而不是 http header 。如果是这样,请忽略我的回答。我的错。
<小时/>看这里:How to add http headers in suds 0.3.6?
您可以在创建客户端时添加 header ,如下所示:
client = suds.client.Client(url, headers={'key': 'value'})
或者在创建客户端之后,通过使用 set_options 如下所示:
client.set_options(headers={'key2': 'value'})
值得注意的是,原来的 suds 包不再维护(最后一次发布于 2010 年 9 月)。它缺少您可能需要的各种功能,例如 gzip 压缩(因此,如果您使用旧的 suds 包,则不必添加“accept-encoding:gzip” header )。各种 fork 如雨后春笋般涌现。我相信其中最活跃的是 suds-jurko。
关于python - SUDS 自定义 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22742139/