python suds访问webservice服务实现


Posted in Python onJune 26, 2020

安装suds

  在Python3环境下如果使用:pip install suds,应该会报ImportError: No module named client,这里推荐安装suds-py3。

使用

1.获取所有方法

webservice中的方法,跟http中的get、post这种类似。

from suds.client import Client

url = 'http://******************?wsdl' # wsdl地址
client = Client(url)
print(client) # 查看定义的所有方法与请求所需携带的参数

返回的Methods中即定义的方法,包括请求所需携带的参数与参数类型。

python suds访问webservice服务实现

2.调用方法

首先调用一个不带参数的方法。

from suds.client import Client

url = 'http://************************?wsdl' # wsdl地址
client = Client(url)
response = client.service.getRealtimeDataList() # 返回列表,列表每一项是一个realtimeVo对象
for i in response:
 # 使用Client的dict方法,将realtimeVo对象转换为dict
 print(Client.dict(i))

当调用需要传入参数的方法时,在对应方法内直接按顺序传入就可以。

这里注意参数的类型,比如XML的dateTime类型,不能直接传入python的datetime类型,会报错的。这里需要用suds的DateTime转换一下。具体代码如下。

from suds.client import Client
from suds.sax.date import DateTime
from datetime import datetime, timedelta

url = 'http://***************************?wsdl' # wsdl地址
client = Client(url)

now = datetime.now() - timedelta(days=1)
yesterday = now.strftime("%Y-%m-%d 00:00:00") # 返回字符串形式的日期
date_time = DateTime(yesterday) # DateTime既可以直接传入字符串也可以直接传入datetime对象,我这里传入的字符串

response = client.service.getHistoryDataList(date_time, date_time, "address", "corpCode") # 返回列表,列表每一项是一个realtimeVo对象
for i in response:
 # 使用Client的dict方法,将realtimeVo对象转换为dict
 print(Client.dict(i))

3.其他

其他方法,比如:

client.set_options() # 设置头信息

目前本人没用到过。

到此这篇关于python suds访问webservice服务实现的文章就介绍到这了,更多相关python suds访问webservice服务内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python删除指定目录下过期文件的2个脚本分享
Apr 10 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
Aug 31 Python
python使用itchat实现手机控制电脑
Feb 22 Python
Python实现的绘制三维双螺旋线图形功能示例
Jun 23 Python
Pandas 数据处理,数据清洗详解
Jul 10 Python
python找出因数与质因数的方法
Jul 25 Python
Django用户认证系统 组与权限解析
Aug 02 Python
django重新生成数据库中的某张表方法
Aug 28 Python
深入了解python中元类的相关知识
Aug 29 Python
使用python代码进行身份证号校验的实现示例
Nov 21 Python
Python读取Excel数据并生成图表过程解析
Jun 18 Python
python实现会员信息管理系统(List)
Mar 18 Python
解析Python 偏函数用法全方位实现
Jun 26 #Python
Python如何优雅删除字符列表空字符及None元素
Jun 25 #Python
使用pytorch实现论文中的unet网络
Jun 24 #Python
python连接mysql有哪些方法
Jun 24 #Python
pytorch VGG11识别cifar10数据集(训练+预测单张输入图片操作)
Jun 24 #Python
Python Tornado核心及相关原理详解
Jun 24 #Python
如何使用Python处理HDF格式数据及可视化问题
Jun 24 #Python
You might like
PhpMyAdmin中无法导入sql文件的解决办法
2010/01/08 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
php的闭包(Closure)匿名函数详解
2015/02/22 PHP
实例讲解PHP设计模式编程中的简单工厂模式
2016/02/29 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
字符串的replace方法应用浅析
2011/12/06 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
javascript轻松实现当鼠标移开时已弹出子菜单自动消失
2013/12/29 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
IE下通过a实现location.href 获取referer的值
2014/09/04 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
2014/09/23 Javascript
js用拖动滑块来控制图片大小的方法
2015/02/27 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
vue.js之vue-cli脚手架的搭建详解
2017/05/05 Javascript
原生javascript实现的全屏滚动功能示例
2017/09/19 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
jquery动态添加以及遍历option并获取特定样式名称的option方法
2018/01/29 jQuery
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
JavaScript常用工具方法封装
2019/02/12 Javascript
JS async 函数的含义和用法实例总结
2020/04/08 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
解决vue中axios设置超时(超过5分钟)没反应的问题
2020/09/04 Javascript
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
python opencv调用笔记本摄像头
2019/08/28 Python
Python+numpy实现矩阵的行列扩展方式
2019/11/29 Python
CSS3 分类菜单效果
2019/05/27 HTML / CSS
使用jTopo给Html5 Canva中绘制的元素添加鼠标事件
2014/05/15 HTML / CSS
美国Randolph太阳镜官网:美国制造的飞行员太阳镜和射击眼镜
2018/06/15 全球购物
什么是反射
2012/03/17 面试题
GWT的应用有哪两种部署模式
2012/12/21 面试题
工程力学硕士生的自我评价范文
2013/11/16 职场文书
《中华少年》教学反思
2014/02/15 职场文书
机电一体化求职信
2014/03/10 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书