soap方式呼叫webserver介面傳送簡訊
阿新 • • 發佈:2022-05-09
1、前言
使用soap協議去呼叫webserver的介面來實現傳送簡訊的功能。
簡單的瞭解了下發現這是基於xml的,發現貌似不會這玩意呀,以為會有點小複雜來開始踩坑。
2、安裝包
pip install suds-jurko
# 注意py版本不同的話,這個包可能有差異。我這測試的py版本是3.6.8
3、找webserver介面地址
"http://xxx.xxx.xxx.xxx/msgws/service.asmx?wsdl"
# 找你需要的介面,都是wsdl形式的,或者讓第三方提供
4、具體實現
import http.client as client import time from suds.transport.https import HttpAuthenticated from suds.client import Client class SendMassage(object): def __init__(self, username, password, mobile, context): self._username = username self._password = password self._mobile = mobile self._context = context def get_current_timestamp(self): return int(round(time.time() * 1000)) def suds_client(self): sms_url = "http://xxx.xxx.xxx.xxx/msgws/service.asmx?wsdl" auth = HttpAuthenticated(username=self._username, password=self._password) try: client = Client(sms_url, transport=auth) print(client) """ client 裡可以檢視有什麼方法和型別 """ request = client.factory.create('MsgSend') # 初始化方法 # 傳引數 request.YHM = self._username request.MM = self._password request.DestMobile= self._mobile request.MsgContent = self._context response = client.service.MsgSend(request) print(response) except Exception as e: print(e)