使用suds模块进行封装,处理webservice类型的接口
import json from suds.client import Client class HandleWebservice: ''' 定义一个webservice类型的接口处理类 ''' def __init__(self, send_msg_url, api_name): ''' 构造器 :param send_msg_url: 接口地址 :param api_name:接口名称 ''' self.api_name = api_name self.client = Client(send_msg_url) def api_res(self, data): ''' 请求处理方法 :param data: 字典数据类型的请求体 :return: json数据格式类型的str ''' try: # 踩过一个坑,如果直接在这里一次性转换到位,那么因为执行的顺序,会先传入data # 错误的处理办法:res = eval(f"self.client.service.{self.api_name}({data})") res = f"self.client.service.{self.api_name}(data)" res = eval(res) res_str = json.dumps(dict(res), ensure_ascii=False) return res_str except Exception as e: res = e res_str = json.dumps(dict(res.fault), ensure_ascii=False) return res_str
作者:小公瑾
-------------------------------------------
个性签名:不忘初心,方得始终!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!