前段時間學習了Python操作http接口,覺得挺容易的。最近項目組也有接觸webservice接口,心里想想是否Python也可以操作這類接口。於是利用偉大的度娘,花了6個小時研究出來了,所以迫不及待更新一篇博文來分享。有興趣討論的同學可以加入我們的交流Q群:297669715。
一、准備環境
A:在線安裝
webservice接口測試,需要用到suds庫,網上百度的各種suds庫都沒法安裝,我這里的Python3.5版本,所以安裝不了那些suds庫也沒有辦法在線安裝,所以這里就提供一個大家都可用的方法和suds庫。
1)下載suds庫,地址:http://pypi.python.org/packages/source/s/suds-jurko/suds-jurko-0.4.1.jurko.4.zip#md5=769689edca81c34c0421a4145b08c264,文件名為:suds-jurko-0.4.1.jurko.4.zip
2)解壓壓縮包,放到Python安裝路徑下的scripts文件夾下面。
3)然后在cmd命令行中,進入到suds-jurko-0.4.1.jurko.4文件下面,輸入命令: python setup.py install
4)安裝成功
5)注意:如果在py中寫代碼 import suds報錯,就要把suds-jurko-0.4.1.jurko.4文件夾下面的dist、suds以及suds_jurko.egg-info這三個文件夾,拷貝到Lib 下面的site-packages路徑下面,就可以正常訪問了。
B:在線安裝
1)pip install suds
2)pip install suds-jurko
6)一切准備就緒,可以開始測試啦!
二、使用suds庫來測試webservice接口
1)引入suds庫,代碼如下:
from suds.client import Client
2)創建一個webservice對象,來調用webservice里面的各類接口
user_url="http://120.24.235.105:8080/finance-user_info-war-1.0/ws/financeUserInfoFacade.ws?wsdl" #這里是你的webservice訪問地址 client=Client(user_url)#Client里面直接放訪問的URL,可以生成一個webservice對象
3)打印出這個wsdl地址里面的所有接口信息:
print(client)#打印所webservice里面的所有接口方法名稱,結果如下截圖所示:
4)利用soapui來看看webservice某個接口的組成和參數,其中一個注冊接口,如下所示:
一共有6個參數,如果要在Python里面來傳遞這種參數,如何組裝拼接,接着往下看。
5)如何傳遞參數值:
t={"channel_id":2,"ip":"129.45.6.7","mobile":mobile ,"pwd":"123456","user_id" :"shabicu8","verify_code":”123456”}#用字典的方式傳值
6)如何在Python中調用注冊這個接口服務:
result=client.service.userRegister(t) #client這個對象 ,調用service這個方法,然后再調用userRegister這個接口函數,函數里面傳遞剛剛我們准備 #好的得參數字典 t print(result)#打印返回結果
7)最后的返回結果打印如下:
其實測試webservice接口有很多種,但是我寫出的這個,相對而言會比較的簡單好理解。大家也可以參考這篇文章,跟官網的說明文檔差不多,但是進行了一些詳細的說明:
http://www.chengxuyuans.com/Python/64773.html(推薦)
如果有問題,歡迎加群來溝通喲!