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基础教程之常用运算符
Aug 29 Python
Python中AND、OR的一个使用小技巧
Feb 18 Python
Python中使用urllib2模块编写爬虫的简单上手示例
Jan 20 Python
Python实现在线音乐播放器
Mar 03 Python
Python安装模块的常见问题及解决方法
Feb 05 Python
python使用tornado实现登录和登出
Jul 28 Python
python Pexpect 实现输密码 scp 拷贝的方法
Jan 03 Python
在pycharm 中添加运行参数的操作方法
Jan 19 Python
详解用Python练习画个美队盾牌
Mar 23 Python
简单了解Python生成器是什么
Jul 02 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
Feb 03 Python
python logging.basicConfig不生效的原因及解决
Feb 20 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
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
php 将excel导入mysql
2009/11/09 PHP
在WINDOWS中设置计划任务执行PHP文件的方法
2011/12/19 PHP
php文件缓存类汇总
2014/11/21 PHP
php成功操作redis cluster集群的实例教程
2019/01/13 PHP
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
浅析javascript 定时器
2014/12/23 Javascript
JavaScript中this详解
2015/09/01 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
12 款 JS 代码测试必备工具(翻译)
2016/12/13 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
2016/12/14 Javascript
react-native使用react-navigation进行页面跳转导航的示例
2017/09/07 Javascript
微信小程序ajax实现请求服务器数据及模版遍历数据功能示例
2017/12/15 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
JS定时器如何实现提交成功提示功能
2020/06/12 Javascript
vue form表单post请求结合Servlet实现文件上传功能
2021/01/22 Vue.js
[55:11]完美世界DOTA2联赛PWL S2 SZ vs LBZS 第一场 11.26
2020/11/30 DOTA
python实现数通设备tftp备份配置文件示例
2014/04/02 Python
理解Python中的类与实例
2015/04/27 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
解决每次打开pycharm直接进入项目的问题
2018/10/28 Python
利用Python实现原创工具的Logo与Help
2018/12/03 Python
Python3中的bytes和str类型详解
2019/05/02 Python
学习python分支结构
2019/05/17 Python
python删除文件夹下相同文件和无法打开的图片
2019/07/16 Python
python requests使用socks5的例子
2019/07/25 Python
Python银行系统实战源码
2019/10/25 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
python 实现单通道转3通道
2019/12/03 Python
Keras模型转成tensorflow的.pb操作
2020/07/06 Python
Pygame框架实现飞机大战
2020/08/07 Python
Python3如何实现Win10桌面自动切换
2020/08/11 Python
一份Java笔试题
2012/02/21 面试题
linux面试题参考答案(9)
2015/01/07 面试题