說明:最近公司要開發一個小程序,然後用戶登錄這個模塊用到了短信驗證碼這個功能,然後寫篇文章做一下記錄。
騰訊雲的每個新用戶會有100條免費短信使用,用來自己學習測試使用還是夠的,這個還是蠻不錯的。但是這個免費的短信有時間限制,在三個月左右。過了這個時間就用不了。
開發語言:python3
開發模塊:qcloudsms_py
雲服務:騰訊雲
要使用騰訊雲的驗證碼功能,我們需要先注冊騰訊雲服務的賬號,騰訊雲網址:點我跳轉騰訊雲,然後我們需要注冊賬號,申請雲應用,申請配置短信的簽名,短信模板。之後就可以使用了。
import ssl
import random
ssl._create_default_https_context = ssl._create_unverified_context
from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
# 獲取雲短信應用的appid和appkey
SDKAppID = '應用的appid'
AppKey = '應用的appkey'
#簽名
sms_sign = '創建的簽名'
# 模板ID
template_id = '創建的模板ID'
# 輸入的手機號
phone_number = '輸入的手機號'
# 獲取隨機6位數
def captcha():
captcha = ''
for i in range(6):
now_number = str(random.randint(0, 9))
captcha += now_number
return captcha
# 發送手機號驗證碼
def send_pcode(captcha):
print('獲取驗證碼',captcha)
ssender = SmsSingleSender(SDKAppID, AppKey)
# 模板中的參數,也就是{1}{2}這兩個參數
params = [captcha, "5"] # 當模板沒有參數時,`params = []`
try:
result = ssender.send_with_param(86, phone_number,
template_id, params, sign=sms_sign, extend="", ext="") # 簽名參數不允許為空串
print(result)
except HTTPError as e:
print(e)
except Exception as e:
print(e)
if __name__ == '__main__':
send_pcode(captcha())