python 实现 soap 请求

1. 什么是soap?

SOAP(Simple Object Access Protocol)是一种基于XML的通信协议,用于在网络上交换结构化的和可扩展的信息。它被广泛用于分布式系统中的应用程序之间的通信。

SOAP通过HTTP(或其他传输协议)在客户端和服务器之间传输XML格式的消息。它使用XML来定义消息的结构和内容,并使用SOAP协议规定了消息的格式、编码规则、错误处理和通信方式等。

SOAP的核心概念包括以下几个部分:

  • Envelope(信封):定义了消息的开始和结束,以及可选的命名空间声明。
  • Header(头部):包含了可选的消息头部信息,用于扩展SOAP协议。
  • Body(主体):包含了实际的消息内容,是SOAP消息的核心部分。
  • Fault(错误):用于表示在处理SOAP消息时发生的错误或异常。

SOAP具有以下特点:

  • 独立于平台和语言:SOAP消息使用标准的XML格式,使得它可以在不同的操作系统、编程语言和硬件平台上进行交互。
  • 可扩展性:SOAP允许通过自定义的消息头部信息扩展协议功能,使得它可以适应不同的应用需求。
  • 松耦合性:SOAP协议将消息的定义和通信方式进行了分离,使得系统的不同部分可以独立演化,提高了系统的灵活性和可扩展性。
  • 支持多种传输协议:SOAP消息可以通过多种传输协议(如HTTP、SMTP等)进行传输,使得它可以在不同的网络环境下使用。

SOAP被广泛应用于Web服务(Web Services)中,它提供了一种标准的、跨平台的、可互操作的方式来实现不同系统之间的通信和集成。通过使用SOAP,不同的应用程序可以通过网络进行数据交换和调用远程方法,实现分布式系统的协作和集成。

2. 什么是WSDL?

网络服务描述语言,Web Services Description Language)是一门基于 XML 的语言,用于描述 Web Services 以及如何对它们进行访问。
简单的说,它就是一个Web Services的使用说明书。来看一个实例:
http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl 这是一个查询电话号码的接口描述

3. Python使用SOAP协议

安装第三方库

python2
pip install suds

python3
pip install suds-py3

程序调用

from suds.client import Client

client = Client('http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl')
print(client.service.getMobileCodeInfo('13581855347',''))

可以解析成字典对象
安装第三方库

pip install xmltodict
from suds.client import Client

client = Client('http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl')
response = client.service.getMobileCodeInfo('13581855347','')
# 将响应数据转换为字典对象
response_dict = xmltodict.parse(str(response))
print(response_dict)
# 打印请求的XML内容
request_xml = client.last_sent()
print(request_xml)

注:Client的参数必须是以wsdl结尾,不然会出错。

例如你拿到的接口是:http://xx.xxx.com/XingHeAreaService.asmx
你实例化的时候应该是
client = Client(‘http://xx.xxx.com/XingHeAreaService.asmx?wsdl’)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值