Python3呼叫webservice介面

2021-10-09 17:09:27 字數 1028 閱讀 8895

工作中偶爾需要對接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...