【Python3】调用webserver接口

昨天在看接口测试书的时候,提到了webserver,今天便弄来实验一番

 

1.什么是webservice

我觉得很多概念都说的过于复杂,大概可以理解成一种面向服务编程(SOA)的架构,不依赖于语言,不依赖于平台,可以实现不同语言的相互调用。(主要使用xml描述)

比较典型的就是天气预报,不同系统,不同程序,可以通过中国天气网提供的接口来获取数据

webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。

 

2.python相关的包

首先是需要suds但是在安装的时候会提示No module named ‘client’,所以可以先安装client再安装suds

值得注意的是python3需要的是suds-jurko

通过pip安装即可

 

3.调用webserver接口

from suds.client import Client

if __name__ == '__main__':
    url = 'http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl'
    client = Client(url)
    print(client)

打印出来的信息如下

Suds ( https://fedorahosted.org/suds/ )  version: 0.6

Service ( TraditionalSimplifiedWebService ) tns="http://webxml.com.cn/"
   Prefixes (0)
   Ports (2):
      (TraditionalSimplifiedWebServiceSoap)
         Methods (2):
            toSimplifiedChinese(xs:string sText)
            toTraditionalChinese(xs:string sText)
         Types (0):
      (TraditionalSimplifiedWebServiceSoap12)
         Methods (2):
            toSimplifiedChinese(xs:string sText)
            toTraditionalChinese(xs:string sText)
         Types (0):

其中Methonds里面是webserver的方法,比如toSimplifiedChinese,toTraditionalChinese

括号里面的是需要传入的参数

 

4.调用webserver的方法

from suds.client import Client

if __name__ == '__main__':
    url = 'http://www.webxml.com.cn/WebServices/TraditionalSimplifiedWebService.asmx?wsdl'
    client = Client(url)
    print(client.service.toSimplifiedChinese('龍的傳人'))

通过 client.service.方法名(参数)  的方式调用

打印结果如下

龙的传人

 

此处20多个常用的免费WebService接口  https://www.cnblogs.com/ooooo/archive/2011/12/28/2304777.html 可以多用来试试

posted @ 2019-09-19 13:46  RonyJay  阅读(5297)  评论(0编辑  收藏  举报