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的Twisted框架编写简单的网络客户端
Apr 16 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
Jun 14 Python
pycharm远程调试openstack代码
Nov 21 Python
使用Scrapy爬取动态数据
Oct 21 Python
python 用for循环实现1~n求和的实例
Feb 01 Python
pyqt5 实现工具栏文字图片同时显示
Jun 13 Python
Python调用C语言的实现
Jul 26 Python
用sqlalchemy构建Django连接池的实例
Aug 29 Python
Python pickle模块实现对象序列化
Nov 22 Python
Python基于WordCloud制作词云图
Nov 29 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
Feb 04 Python
超全Python图像处理讲解(多模块实现)
Apr 13 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
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
无数据库的详细域名查询程序PHP版(1)
2006/10/09 PHP
PHP 杂谈《重构-改善既有代码的设计》之一 重新组织你的函数
2012/04/09 PHP
php查询mssql出现乱码的解决方法
2014/12/29 PHP
PHP Laravel中的Trait使用方法
2019/01/20 PHP
thinkphp5框架实现的自定义扩展类操作示例
2019/05/16 PHP
TP5(thinkPHP5框架)实现显示错误信息及行号功能的方法
2019/06/03 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
JQuery中对服务器控件 DropdownList, RadioButtonList, CheckboxList的操作总结
2011/06/28 Javascript
各浏览器对document.getElementById等方法的实现差异解析
2013/12/05 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
javascript中错误使用var造成undefined
2016/03/31 Javascript
浅析JS中的 map, filter, some, every, forEach, for in, for of 用法总结
2017/03/29 Javascript
自制简易打赏功能的实例
2017/09/02 Javascript
解决vue项目nginx部署到非根目录下刷新空白的问题
2018/09/27 Javascript
Vue框架下引入ActiveX控件的问题解决
2019/03/25 Javascript
解决微信小程序云开发中获取数据库的内容为空的方法
2019/05/15 Javascript
利用layer实现表单完美验证的方法
2019/09/26 Javascript
关于python中plt.hist参数的使用详解
2019/11/28 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
Python3读写ini配置文件的示例
2020/11/06 Python
HTML5 transform三维立方体实现360无死角三维旋转效果
2014/08/22 HTML / CSS
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
求高于平均分的学生学号及成绩
2016/09/01 面试题
事业单位接收函
2014/01/10 职场文书
回门宴答谢词
2014/01/13 职场文书
旅游节目策划方案
2014/05/26 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
开除员工通知
2015/04/22 职场文书
小学毕业教师寄语
2019/06/21 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers