zoukankan      html  css  js  c++  java
  • 【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 可以多用来试试

  • 相关阅读:
    JAVA获取指定天数之后的日期
    JAVA携带参数(带有参数)直接发送POST请求
    JAVA使用itext根据模板生成PDF文档
    office2007(word2007)另存为pdf文档
    JAVA判断某个元素是否在某个数组中
    SpringBoot单元测试demo
    tomcat启动报错There is insufficient memory for the Java Runtime Environment to continue
    JAVA中价格金额的存储类型
    JAVA获取当前日期的下周一到下周日的所有日期集合
    Golang package和目录的区别
  • 原文地址:https://www.cnblogs.com/ronyjay/p/11548898.html
Copyright © 2011-2022 走看看