【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 可以多用來試試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM