webservice接口测试,需要用到suds库,suds只支持python2,如果是Python3.6版本,需要用到suds-jurko,
1) 下载 https://pypi.python.org/pypi/suds/0.4
2)解压压缩包,放到Python安装路径下的scripts文件夹下面。
3)然后在cmd命令行中,进入到suds-jurko-0.4.1.jurko.4文件下面,输入命令:python setup.py install
4)注意:如果在py中写代码 import suds报错,就要把suds-jurko-0.4.1.jurko.4文件夹下面的dist、suds以及suds_jurko.egg-info这三个文件夹,拷贝到Lib下面的site-packages路径下面
5)如果from suds.clientimportClient,提示 ImportError:No module named version 最后pip install –upgrade suds-jurko
其实可以一步到位 pip3 install suds-jurko
Python3 用的这个suds-jurko,安装方法跟Python2一样。
https://pypi.python.org/pypi/suds-jurko/0.6
测试:
In [5]: from suds.client import ClientIn [6]: client = Client(‘http://www.webxml.com.cn/webservices/OnlineWebServic …: e.asmx?wsdl’)In [7]: print(client)Suds ( https://fedorahosted.org/suds/ ) version: 0.6Service ( OnlineWebService ) tns=“http://WebXml.com.cn/" Prefixes (0) Ports (2):讯享网(OnlineWebServiceSoap) Methods (1): CheckOnline(xs:string Code) Types (0): (OnlineWebServiceSoap12) Methods (1): CheckOnline(xs:string Code) Types (0):In [8]: result=client.service.CheckOnline(”“)In [9]: orubt(result)
NameError Traceback (most recent call last) <ipython-input-9-8d90f0601db2> in <module>() —-> 1 orubt(result)NameError: name ‘orubt’ is not definedIn [10]: print(result) Y
讯享网以上测试了获取http://www.webxml.com.cn/webservices/OnlineWebService.asmx?wsdl这个地址的方法列表
可以看到其中有检查是否在线的方法,然后调用检测一个号码是否在线进行测试
另外如果获取数据量比较大,可以在获取数据之前设置超时时间
client.set_options(timeout=100) # 这里是秒
查看所有属性:
In [11]: print(client.options) Definitions: 讯享网 cache: classes=(<class 'suds.cache.Cache'>,), default=<suds.cache.NoCach
e object at 0x00000000052385C0> documentStore: classes=(<class 'suds.store.DocumentStore'>,), default=<s
uds.store.DocumentStore object at 0x0000000004D18E10>
讯享网 讯享网 extraArgumentErrors: classes=(<class 'bool'>,), default=True faults: classes=(<class 'bool'>,), default=True transport: classes=(<class 'suds.transport.Transport'>,), default=None service: classes=(<class 'int'>, <class 'str'>), default=None port: classes=(<class 'int'>, <class 'str'>), default=None location: classes=(<class 'str'>,), default=None soapheaders: classes=*, default=() wsse: classes=(<class 'suds.wsse.Security'>,), default=None doctor: classes=(<class 'suds.xsd.doctor.Doctor'>,), default=None xstq: classes=(<class 'bool'>,), default=True prefixes: classes=(<class 'bool'>,), default=True retxml: classes=(<class 'bool'>,), default=False prettyxml: classes=(<class 'bool'>,), default=False autoblend: classes=(<class 'bool'>,), default=False cachingpolicy: classes=(<class 'int'>,), default=0 plugins: classes=(<class 'list'>, <class 'tuple'>), default=[] nosend: classes=(<class 'bool'>,), default=False unwrap: classes=(<class 'bool'>,), default=True
Content: ('cache', <suds.cache.ObjectCache object at 0x000000000>) ('documentStore', <suds.store.DocumentStore object at 0x0000000004D18E10
>) 讯享网 ('extraArgumentErrors', True) ('faults', True) ('transport', <suds.transport.https.HttpAuthenticated object at 0x000000
0005238EB8>) ('service', None) ('port', None) ('location', None) ('soapheaders', ()) ('wsse', None) ('doctor', None) ('xstq', True) ('prefixes', True) ('retxml', False) ('prettyxml', False) ('autoblend', False) ('cachingpolicy', 0) ('plugins', []) ('nosend', False) ('unwrap', True)
Linked: Definitions: 讯享网 proxy: classes=(<class 'dict'>,), default={} timeout: classes=(<class 'int'>, <class 'float'>), default=90 headers: classes=(<class 'dict'>,), default={} username: classes=(<class 'str'>,), default=None password: classes=(<class 'str'>,), default=None
Content: ('proxy', {}) ('timeout', 90) ('headers', {}) ('username', None) ('password', None)
Linked: Definitions: 讯享网 cache: classes=(<class 'suds.cache.Cache'>,), default=<suds.cache.NoCach
e object at 0x00000000052385C0> documentStore: classes=(<class 'suds.store.DocumentStore'>,), default=<s
uds.store.DocumentStore object at 0x0000000004D18E10> 讯享网 extraArgumentErrors: classes=(<class 'bool'>,), default=True faults: classes=(<class 'bool'>,), default=True transport: classes=(<class 'suds.transport.Transport'>,), default=None service: classes=(<class 'int'>, <class 'str'>), default=None port: classes=(<class 'int'>, <class 'str'>), default=None location: classes=(<class 'str'>,), default=None soapheaders: classes=*, default=() wsse: classes=(<class 'suds.wsse.Security'>,), default=None doctor: classes=(<class 'suds.xsd.doctor.Doctor'>,), default=None xstq: classes=(<class 'bool'>,), default=True prefixes: classes=(<class 'bool'>,), default=True retxml: classes=(<class 'bool'>,), default=False prettyxml: classes=(<class 'bool'>,), default=False autoblend: classes=(<class 'bool'>,), default=False cachingpolicy: classes=(<class 'int'>,), default=0 plugins: classes=(<class 'list'>, <class 'tuple'>), default=[] nosend: classes=(<class 'bool'>,), default=False unwrap: classes=(<class 'bool'>,), default=True
Content: ('cache', <suds.cache.ObjectCache object at 0x000000000>) ('documentStore', <suds.store.DocumentStore object at 0x0000000004D18E10
>) 讯享网 ('extraArgumentErrors', True) ('faults', True) ('transport', <suds.transport.https.HttpAuthenticated object at 0x000000
0005238EB8>) ('service', None) ('port', None) ('location', None) ('soapheaders', ()) ('wsse', None) ('doctor', None) ('xstq', True) ('prefixes', True) ('retxml', False) ('prettyxml', False) ('autoblend', False) ('cachingpolicy', 0) ('plugins', []) ('nosend', False) ('unwrap', True)</code></pre>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/42855.html