Python3使用suds-jurko庫來發送webservice接口請求
導入請求webservice接口需要用到的包
pip install suds-jurko
第一步:導入所需要的包
from suds.client import Client, WebFault
第二步:創建webservice對象,來調用webservice里面的各類接口
client = Client(url="項目地址")
第三步:發送請求,返回響應結果
如果參數有誤就會報錯,所以要對發送請求進行異常捕獲
對響應的結果進行轉換成字典
可變參數1:interface : 接口名(要換成項目中的接口名)
可變參數2: data : 參數信息(字典形式)
try:
res = client.service.interface(data)
result = dict(res)
except WebFault as e:
result = dict(e.fault)
*對發送webservice接口進行封裝
class SendWebService(object):
"""發送webservice請求"""
@staticmethod
def send(url_path, interface, data):
"""
發送請求
:param url_path: 項目地址
:param interface: 接口名
:param data: 參數
:return: 狀態碼和信息
"""
# 創建webservice對象,來調用webservice里面的各類接口
client = Client(url=url_path)
try:
res = eval("client.service.{}({})".format(interface, data))
result = dict(res)
except WebFault as e:
result = dict(e.fault)
return result