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文件操作整理汇总
Oct 21 Python
Python下的常用下载安装工具pip的安装方法
Nov 13 Python
用python写的一个wordpress的采集程序
Feb 27 Python
Django的信号机制详解
May 05 Python
Python爬虫常用小技巧之设置代理IP
Sep 13 Python
python 美化输出信息的实例
Oct 15 Python
Python基于聚类算法实现密度聚类(DBSCAN)计算【测试可用】
Dec 26 Python
python中bs4.BeautifulSoup的基本用法
Jul 27 Python
python 模拟银行转账功能过程详解
Aug 06 Python
执行Django数据迁移时报 1091错误及解决方法
Oct 14 Python
Flask框架搭建虚拟环境的步骤分析
Dec 21 Python
Python实现疫情地图可视化
Feb 05 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开发框架的对比
2013/07/05 PHP
PHP判断远程图片或文件是否存在的实现代码
2014/02/20 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
PHP处理bmp格式图片的方法分析
2017/07/04 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
laravel5.1 ajax post 传值_token示例
2019/10/24 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
网页图片延时加载的js代码
2010/04/22 Javascript
ASP.NET jQuery 实例10 动态修改hyperlink的URL值
2012/02/03 Javascript
JSON序列化与解析原生JS方法且IE6和chrome测试通过
2013/09/05 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
JS限制输入框输入的实现代码
2018/07/02 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
python网络编程学习笔记(五):socket的一些补充
2014/06/09 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
介绍Python的Django框架中的QuerySets
2015/04/20 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
Python3 中文文件读写方法
2018/01/23 Python
Python面向对象之继承和组合用法实例分析
2018/08/27 Python
django 消息框架 message使用详解
2019/07/22 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
Python二元赋值实用技巧解析
2019/10/25 Python
python 实现快速生成连续、随机字母列表
2019/11/28 Python
python实现图像高斯金字塔的示例代码
2020/12/11 Python
请解释在new与override的区别
2012/10/29 面试题
幼儿园教师节活动方案
2014/02/02 职场文书
个人欠款担保书
2014/05/20 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python
Django基础CBV装饰器和中间件
2022/03/22 Python