• 【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 可以多用来试试

  • 相关阅读:
    装饰者设计模式
    Base64技术:把对象转变成字符串
    Android获取网络数据进行GZIP解压
    自定义Button成进度条
    Android:TextView最小行数设置
    介绍两个Android不常用的Drawable:GradientDrawable和 StateListDrawable
    Json介绍
    Android自定义XML属性
    Android手机图片适配问题
    AsyncTask
  • 原文地址:https://www.cnblogs.com/ronyjay/p/11548898.html
Copyright © 2020-2023  润新知