工作中偶爾需要對接webservice的介面;網上搜了一下,不少的教程推薦使用suds。
但是suds這個包早就停止維護了。對於簡單的呼叫,我還是覺得自己寫更方便點,夠用就行。
# 介面不同,訊息體和需要傳入的引數也是不同的。body可以參照你需要請求的webservice介面的資料樣例
body =
'''<?xml version="1.0" encoding="utf-8"?>
'''+
str(這裡新增上需要傳送的引數,這裡可以指定編碼)
+'''
'''# 需要注意的是這裡的soapaction,一定要正確。
headers =
# 傳送請求
res_xml = requests.post(url=webservice_url, data=body.encode(
'utf-8'
), headers=headers)
.content.decode(
'utf-8'
)
# 這裡使用內建的 xml 庫;parse是解析xml檔案的,parsestring是解析資料流的
from xml.dom.minidom import parse, parsestring
# print(res_xml)
dom_tree = parsestring(res_xml)
dom_obj = dom_tree.documentelement
# print(dom_obj)
# 這裡可以根據標籤名稱進行搜尋,有多個相同標籤的話,可以使用for迴圈提取
this_dom_res_obj = dom_obj.getelementsbytagname('test_info_frmweb_result')
# 提取訊息體
this_dom_data = this_dom_res_obj[0].childnodes[0].data
print(this_dom_data)
python使用suds呼叫webservice
對於python僅作為客戶端呼叫webservice的情況,推薦使用suds庫來完成,比起zsi,soapy之類,它可以說是相當輕量級,使用非常方便。匯入包 from suds.client import client,建立乙個 websevice 類 1 from suds.client impo...
通過httpclient呼叫webservice
在net平台,通過restcharp無法呼叫webservice,並報錯 說明 執行當前 web 請求期間,出現未處理的異常。請檢查堆疊跟蹤資訊,以了解有關該錯誤以及 中導致錯誤的出處的詳細資訊。異常詳細資訊 system.invalidoperationexception 因 url 意外地以 h...
日常Python 3 呼叫函式
任務.輸出每日一貼 在idle中建立乙個名為function tips.py的檔案,然後在該檔案中建立乙個名稱為function tips的函式,在該函式中,從勵志文字列表中獲取一條勵志文字並輸出,最後再呼叫函式function tips 如下 coding gbk def function tip...