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 psutil模块简单使用实例
Apr 28 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
Python多线程扫描端口代码示例
Feb 09 Python
Python3读取Excel数据存入MySQL的方法
May 04 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
Sep 17 Python
Python绘制并保存指定大小图像的方法
Jan 10 Python
Python爬取视频(其实是一篇福利)过程解析
Aug 01 Python
如何使用Python抓取网页tag操作
Feb 14 Python
Django 后台带有字典的列表数据与页面js交互实例
Apr 03 Python
python3实现简单飞机大战
Nov 29 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 Python
Matplotlib绘制条形图的方法你知道吗
Mar 21 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
PHP中GET变量的使用
2006/10/09 PHP
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
php+mysql实现数据库随机重排实例
2014/10/17 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
PHP容器类的两种实现方式示例
2019/07/24 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
最新优化收藏到网摘代码(digg,diigo)
2007/02/07 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
使用隐藏的new来创建对象
2011/03/29 Javascript
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
浅析js中2个等号与3个等号的区别
2013/08/06 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
15款最好的Bootstrap在线编辑器
2016/08/03 Javascript
关于javascript sort()排序你可能忽略的一点理解
2017/07/18 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
layer弹出层全屏及关闭方法
2018/08/17 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
详解vue配置后台接口方式
2019/03/29 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
浅谈PySpark SQL 相关知识介绍
2019/06/14 Python
pyqt5 使用cv2 显示图片,摄像头的实例
2019/06/27 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
python实现图像外边界跟踪操作
2020/07/13 Python
CSS3实例分享--超炫checkbox复选框和radio单选框
2014/09/01 HTML / CSS
毕业实习个人鉴定范文
2013/12/10 职场文书
捐款通知怎么写
2015/04/24 职场文书
个人借条范本
2015/05/25 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js