推荐开源项目:Zeep - Python SOAP 客户端
去发现同类优质开源项目:
https://gitcode.com/
在寻求与Web服务进行交互的高效解决方案时,让我们一起深入了解一下
Zeep
,这是一个专为Python设计的SOAP(简单对象访问协议)客户端库。它以其强大的功能和广泛的支持,成为了Python开发者实现SOAP通信的理想选择。
Zeep是一个基于Python的库,旨在简化与SOAP服务器之间的交互。利用lxml、requests和httpx等强大库作为基础,它提供了一个简洁而高效的API来处理各种SOAP协议版本以及相关的WS-标准。无论你是新手还是经验丰富的开发者,Zeep都能帮助你轻松地实现复杂的SOAP通信任务。
项目技术分析
-
兼容性广泛
:支持Python 3.7至3.11版本,以及PyPy3。
-
多种SOAP支持
:包括Soap 1.1和1.2,以及HTTP绑定。
-
WS标准支持
:具备WS-Addressing头和WSSE(用户名令牌/ x.509签名)的支持。
-
异步处理
:通过httpx模块提供对asyncio的支持。
-
XOP消息实验支持
:用于处理大型XML文档。
-
lxml
:强大的XML解析库,提供了快速且准确的解析和操作XML的能力。
-
requests或httpx
:流行的HTTP客户端库,用于发起网络请求。
项目及技术应用场景
在以下场景中,你可以充分利用Zeep的功能:
-
企业级集成
:当需要与采用SOAP API的企业系统进行数据交换时。
-
自动化测试
:编写测试脚本以验证SOAP接口的正确性。
-
数据迁移
:从一个SOAP服务到另一个系统的数据迁移。
-
实时数据获取
:从远程SOAP服务获取实时更新的数据。
-
稳定性强
:作者认为该库稳定,并欢迎修复bug的PR。
-
易用性高
:通过简单的Python代码即可调用SOAP服务,如示例所示。
-
详尽文档
:提供详尽的在线文档,方便学习和参考。
-
持续维护
:虽然无新功能开发,但仍有维护和更新以修复问题。
安装Zeep只需一条命令:
pip install zeep
并且可以使用内置的python -m zeep <url-to-wsdl>
工具快速查看WSDL文件。
了解更多信息,请访问官方文档:http://docs.python-zeep.org。
如果你遇到问题或发现潜在的bug,也请遵循提供的指南进行报告。
总的来说,Zeep是Python程序员在处理SOAP服务时的一个强大工具,其丰富的功能、良好的兼容性和易于上手的特点都使得它值得信赖和使用。立即试一试吧,让SOAP通信变得简单!
去发现同类优质开源项目:https://gitcode.com/
Python ONVIF Zeep 使用教程
项目地址:https://gitcode.com/gh_mirrors/py/python-onvif-zeep
python-onvif-zeep 是一个基于 Python 的开源项目,旨在通过 ONVIF 协议与网络视频设备(如网络摄像头)进行交互。该项目利用 Zeep 库来处理 SOAP 消息,从而实现与支持 ONVIF 标准的设备的通...
使用zeep的Python中的ONVIF客户端
你好! 我将此文件推送到github,以便人们可以使用zeep向摄像机发送ONVIF命令的示例。
我必须下载和编辑wsdl文件-必须在底部添加wsdl:service部分。 由于我使用的是下载的wsdl文件,因此还必须更改schemaLocation文件顶部的相对地址。
首先,向摄像机发送WS-Discovery探针以获取摄像机的设备服务的URI。 是的,我知道它始终是ip_addr / onvif / device_service,但是我认为说我发送了一个探针听起来很酷:)
我向相机发送一个GetServices请求,以查看其支持的所有服务,然后获取媒体服务的URI。
我发送一个GetProfiles请求,让用户选择一个配置文件,然后发送GetStreamUri以获取所选配置文件的视频URI。
我使用Python
我用的Python3.7版本,需要用到suds-jurko,因为suds只支持python2
#安装工具包suds-jurko=python3;suds=python3
pip install susd-jurko
python处理webservicewebservice是什么怎么用python请求webservicesuds、suds-jurko、zeep有什么区别结论
webservice是什么
具体是个什么不用说那么多,一言蔽之就是:
WebService遵循SOAP协议通过XML封装数据,然后由Http协议来传输数据
在测试中往往只是需要我们请求webservice的接口,在常规的http接口中python直接用Requests库就能解决,但是webservice没办法用Requests来请求。
怎么用pyt
from zeep.wsse.username import UsernameToken
config_url = 'http://...:8080/ws/v9/configurationservice?wsdl'
defect_url = 'http://...:8080/ws...