Python基于Twilio及騰訊云實現國際國內短信接口
短信服務驗證服務已經不是什么新鮮事了,但是免費的手機短信服務卻不多見,本次利用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體驗好的一點在于它具有詳細的統計后臺,方便我們對短信到達率進行監控和統計,對海量用戶的群發也比較友好。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章:
1. React+umi+typeScript創建項目的過程2. ASP調用WebService轉化成JSON數據,附json.min.asp3. php測試程序運行速度和頁面執行速度的代碼4. php網絡安全中命令執行漏洞的產生及本質探究5. ASP.NET Core 5.0中的Host.CreateDefaultBuilder執行過程解析6. 無線標記語言(WML)基礎之WMLScript 基礎第1/2頁7. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報錯問題分析8. ASP中常用的22個FSO文件操作函數整理9. SharePoint Server 2019新特性介紹10. 三個不常見的 HTML5 實用新特性簡介
