樹莓派3 Python3呼叫Web Service

2021-08-08 10:45:17 字數 1828 閱讀 3348



好奇樹莓派下python3是如何呼叫web service的。搜了一圈發現不少人用的suds,那我也來跟個風吧。

sudo apt-get install python3-suds

為了模擬單位裡生產環境的實際情況,分幾種情況試驗(web service是c#開發的):

1、輸入輸出都是簡單型別;

2、輸入簡單型別,輸出乙個簡單的實體類;

3、輸入乙個簡單的實體類,輸出乙個簡單型別;

實驗結果如下:

場景一、選用乙個單位mas平台傳送簡訊的方法測試。這個web service有個方法sendsms,提供手機號和傳送內容即可。

import sys

from suds.client import client

url = "http://aaa/sms/service.asmx?wsdl"  # web service的url

client = client(url)

result = client.service.sendsms('138****','hello from python @ 樹莓派')

print(result)

幾秒鐘後就在我手機裡收到了簡訊。可見呼叫有效,而且還是蠻直觀易懂的。

簡單敘述一下場景二和三用到的實體類和測試方法。怎麼用c#編寫web service不是本文重點,忽略不提。

這個實體類叫demo,很簡單,就乙個int型的id和乙個string型的name屬性。

測試函式也很簡單,

1、returnasentity函式需要提供id和name引數,返回demo物件;

2、entityasarg函式需要提供web service中的demo引數,以字串形式返回id和name;

場景二、

很好理解,也符合c#的習慣。

場景三、關鍵在於如何構造乙個webserivce認可的類。好在suds提供了乙個非常簡單的方法,請看示例:

c = client.factory.create('demo')  # 就醬紫

c.id = 1234

c.name = "張三"

result = client.service.entityasarg(c)

print(result)

補充第四種場景:輸出是c#中定義的list《實體類》。呼叫returnaslist()得到乙個list。

場景四、經python得到的返回值是arrayofdemo,需要自己再加工一下。

樹莓派3上手

知道樹莓派3發布當天,就從 定了乙個,週六終於到貨了。先寫卡,本來天真的以為樹莓派2上的卡拔下來插進3就能用,結果失敗,不亮。開始寫卡 還有乙個沒有圖形介面的兩百多個g,小得多。卡插好了一次點亮。插卡的時候發現樹莓派3的插卡槽不如2,沒有彈性的那種,不是按一下插進去,再按下能彈出來的。開機啟動,一切...

3 python3 檔案操作

python 檔案方法 1 開啟檔案 open 方法 常用形式 open 檔名,開啟方式 其中 檔名是必須的是檔案的路徑 開啟方式有多種 這裡引用菜鳥教程的總結 mode 引數有 模式描述 t文字模式 預設 x寫模式,新建乙個檔案,如果該檔案已存在則會報錯。b二進位制模式。開啟乙個檔案進行更新 可讀...

七 樹莓派3B 訪問樹莓派

上週都是把樹莓派帶到公司玩,這個確實不怎麼好。就一直在想怎麼可以訪問放在宿舍的樹莓派。網上有很多方法。我還是選擇了做,這個簡單。csdn的大佬們,求審核通過,第三次了,上線半年給下架了,修改後又拒絕,難受。安裝之前請看文件 花生殼 3.0 for 樹莓派 安裝使用攻略 1.安裝 dpkg i phd...