業務:
手機端點擊發送驗證碼,請求發送到python端,由python調用第三方平台(我們使用的是榛子雲短信http://smsow.zhenzikj.com)的短信接口,生成驗證碼並發送。
SDK下載: http://smsow.zhenzikj.com/doc/sdk.html
API文檔: http://smsow.zhenzikj.com/doc/python_sdk_doc.html
代碼:
1)生成4位隨機數作為驗證碼
import random code = '';//驗證碼 for num in range(1,5): code = code + str(random.randint(0, 9));
2)導入sdk
import zhenzismsclient as smsclient
3)調用短信平台發送驗證碼
client = smsclient.ZhenziSmsClient('100000', 'NmABSDFDKKDFMzZDFFkNjcwNDc1MmZ'); result = client.send('12411111111', '您的驗證碼為'+code)
ZhenziSmsClient需要使用事先申請的AppId、AppSecret初始化
返回結果是json格式的字符串, code: 發送狀態,0為成功。非0為發送失敗,可從data中查看錯誤信息
{ "code":0, "data":"發送成功" }
錯誤代碼表
錯誤碼 | 原因 | 解決方案 |
---|---|---|
100 | 參數格式錯誤 | 檢查請求參數是否為空, 或手機號碼格式錯誤 |
101 | 短信內容超過1000字 | 短信內容過長,請篩檢或分多次發送 |
105 | appId錯誤或應用不存在 | 請聯系工作人員申請應用或檢查appId是否輸入錯誤 |
106 | 應用被禁止 | 請聯系工作人員查看原因 |
107 | ip錯誤 | 如果設置了ip白名單,系統會檢查請求服務器的ip地址,已確定是否為安全的來源訪問 |
108 | 短信余額不足 | 需要到用戶中心進行充值 |
109 | 今日發送超過限額 | 如果設置了日發送數量,則每個接收號碼不得超過這個數量 |
110 | 應用秘鑰(AppSecret)錯誤 | 檢查AppSecret是否輸入錯誤,或是否已在用戶中心進行了秘鑰重置 |
111 | 賬號不存在 | 請聯系工作人員申請賬號 |
1000 | 系統位置錯誤 | 請聯系工作人員或技術人員檢查原因 |
完整代碼:
# -*- coding: utf-8 -*- import zhenzismsclient as smsclient import random code = ''; for num in range(1,5): code = code + str(random.randint(0, 9)); print(code); client = smsclient.ZhenziSmsClient('100000', 'NmMzZDFmNjFkNjcwNDc1MmZ'); print(client.send('12411111111', '您的驗證碼為'+code))