程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

最全!!!python使用騰訊雲服務開發短信驗證碼項目

編輯:Python

python使用騰訊雲服務開發短線驗證碼項目

說明:最近公司要開發一個小程序,然後用戶登錄這個模塊用到了短信驗證碼這個功能,然後寫篇文章做一下記錄。

騰訊雲的每個新用戶會有100條免費短信使用,用來自己學習測試使用還是夠的,這個還是蠻不錯的。但是這個免費的短信有時間限制,在三個月左右。過了這個時間就用不了。

騰訊雲的每個新用戶會有100條免費短信可以使用,在認證之後,還會贈送100條,同樣會有時間限制

環境

開發語言:python3
開發模塊:qcloudsms_py
雲服務:騰訊雲

騰訊雲應用

要使用騰訊雲的驗證碼功能,我們需要先注冊騰訊雲服務的賬號,騰訊雲網址:點我跳轉騰訊雲,然後我們需要注冊賬號,申請雲應用,申請配置短信的簽名,短信模板。之後就可以使用了。

1. 注冊/登錄騰訊雲賬號

2. 注冊成功之後或點擊登陸,跳轉微信登錄頁面,然後使用微信掃碼登錄,點擊確定登錄騰訊雲,跳轉到騰訊雲主頁。

3. 在騰訊雲主頁,點擊產品——>企業應用與雲通信——>選擇雲通信裡的短信服務,會跳轉至短信服務頁面。點我直接跳轉短信雲服務頁面

4. 點擊免費領取短信,跳轉至短信服務

5. 我們打開短信服頁面——>選擇應用管理——>查看應用列表,裡面的是自己的服務應用。

6. 新用戶裡面只有一個系統默認應用,我們點擊創建應用,新建我們測試/使用的應用。輸入應用名稱,應用簡介。

7. 新建完應用,我們可以進入應用查看應用信息,SKD AppID和App Key是我們開發時需要的參數,appid是短信應用的唯一標識,appkey是用來校驗短信發送合法性的密碼,appkey需要保密

8. 點擊國內短信——>選擇簽名管理——>創建簽名。我的是個人認證用戶,由於我自己有公眾號,所以在簽名類型裡選擇的是公眾號,簽名內容就是自己的公眾號名稱。大家按自己需要填寫就好了。不懂得可以看審核標准。創建完之後等待審核就可以了。

9. 點擊國內短信——>正文模板管理——>創建正文模板。模板名稱就是驗證碼短信的信息提示,來自哪裡。比如電信的驗證碼模板名稱就是中國電信,然後選擇自己使用的模板,也可以使用自定義模板,不過使用騰訊的標准模板成功率更高。申請說明一般就是用來驗證用戶的,提升用戶手機號的真實性什麼的。創建模板,等待審核。

10. 簽名和模板創建好之後,就可以等待審核了,雲上面說的是審核時間為2小時,一般情況下也就20分鐘就審核完成了。遇到審核不成功也是正常情況,不成功的話看一下自己申請是否有什麼問題,會有審核失敗提示的,如果沒問題的話,就多申請幾次。樓主就申請了5、6、7、8次。O(∩_∩)O


後端代碼

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())

驗證碼效果實例

其中[兜兜有糖]是簽名內容,6位驗證碼是模板參數裡的{1},5分鐘是模板參數裡的{2}


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved