歡迎您光臨本站 註冊首頁

Python基於Twilio及騰訊雲實現國際國內短信接口

←手機掃碼閱讀     niceskyabc @ 2020-06-19 , reply:0

短信服務驗證服務已經不是什麼新鮮事了,但是免費的手機短信服務卻不多見,本次利用Python3.0基於Twilio和騰訊雲服務分別來體驗一下國際短信和國內短信接口。

首先,註冊Twilio: www.twilio.com/

註冊成功後,獲取ACCOUNT SID和AUTH TOKEN,一會要用到

安裝依賴的庫

pip3 install twilio
 

隨後編寫發送腳本

  #導包 導入客戶端   from twilio.rest import Client      #定義短信sid   account_sid = '你的sid'   #定義祕鑰   auth_token = '你的祕鑰'      #定義客戶端對象    client = Client(account_sid,auth_token)   message = client.messages.create(     to="+8613423432818",   # 接受短信的手機號,也就是註冊界面驗證過的那個自己的手機號,注意 寫中國區號 +86     from_="+12118627871",  # 發送短信的美國手機號 區號 +1     body="Hello from Python!")   #打印發送結果   print(message)

 

整個過程比較簡單,如此你就擁有了一個免費的國際手機短信服務接口,注意發送的手機號要填寫手機號的國家區號,另外twilio的額度也並非無限,將會有一個10刀的額度,每發一條將會扣除1美分,所以測試的時候悠著點,別超過額度限制。

國內短信業務這塊兒做的比較好的有阿里雲,騰訊雲,和百度雲,另外七牛雲和又拍雲也有相應的服務,為什麼一定要選擇騰訊雲呢?其實很簡單,因為有免費的100條短信可以用。

首先註冊騰訊雲服務: cloud.tencent.com

註冊成功後,騰訊雲會自動生成一個短信應用,如果沒有默認應用,需要新建一下

記錄一下應用的 appid 以及 appkey 一會要用到

之後配置短信的簽名,簽名顧名思義,用來限制短信接口的權限,防止被惡意調用,同時簽名需要騰訊客服人工審核,大概需要兩個小時左右。

這裡推薦使用小程序來做簽名類型,同時簽名內容是自定義的,證明類型很簡單,只需要去微信小程序後臺界面截個圖即可。

配置好籤名,還需要配置一下短信模板,模板的含義也很簡單,就是給用戶發送的短信內容

模板中的{}符號是類似通配符的東西,發送短信時用變量進行替換,注意表明索引數量,模板也需要騰訊客服人工審核,大概需要兩個小時左右。另外短信長度最好不要超過70字,超過以後長短信就會按每67字一條來計算,那就虧大發了。

以上就是前期的配置,下面安裝騰訊雲短信的sdk

pip3 install qcloudsms_py
 

編寫發送腳本

  # 短信應用SDK AppID   appid = 你的appid # SDK AppID是1400開頭      # 短信應用SDK AppKey   appkey = "你的appkey"      # 需要發送短信的手機號碼   phone_numbers = ["你要發送的手機號"]      # 短信模板ID,需要在短信應用中申請   template_id = 在模板列表裡獲取       # 簽名   sms_sign = "劉悅的技術博客"      from qcloudsms_py import SmsSingleSender   from qcloudsms_py.httpclient import HTTPError         import ssl   ssl._create_default_https_context = ssl._create_unverified_context      ssender = SmsSingleSender(appid, appkey)   params = ["6666","5"] # 當模板沒有參數時,`params = []`   try:     result = ssender.send_with_param(86, phone_numbers[0],       template_id, params, sign=sms_sign, extend="", ext="") # 簽名參數不允許為空串     print(result)   except HTTPError as e:     print(e)   except Exception as e:     print(e)

 

整個流程沒什麼難度,需要注意一點這裡為了避免ssl證書的問題需要導入ssl庫單獨設置一下,最後查看一下結果

同時騰訊雲服務短信比Twilio體驗好的一點在於它具有詳細的統計後臺,方便我們對短信到達率進行監控和統計,對海量用戶的群發也比較友好。



[niceskyabc ] Python基於Twilio及騰訊雲實現國際國內短信接口已經有342次圍觀

http://coctec.com/docs/python/shhow-post-239079.html