流程
發送手機號碼通知或者短信,我們可以通過平臺來自動批量的發送短信。
需要先在平臺上面完成身份認證、簽名認證、信息內容報備,平臺審覈通過後纔可以使用。
測試
下面是以"秒賽科技"來進行測試,之前有試過阿里雲,平臺驗證比較嚴格,要求是企業信息驗證,個人測試不方便。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
import hashlib
import time
class SendCode:
def send(self, account, pswd, mobile, msg, ts, state):
url = 'http://139.196.108.241:8080' + {
1: '/Api/HttpSendSMYzm.ashx',
2: '/Api/HttpSendSMYx.ashx',
3: '/Api/HttpSendSMVoice.ashx'
}[state];
if ts != "":
m = hashlib.md5()
strs = account + pswd + str(ts)
m.update(strs.encode("utf8"))
pswd = m.hexdigest()
body = {"account": account, "pswd": pswd, "mobile": mobile, "msg": msg, "ts": str(ts)}
header_dict = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko',
"Content-Type": "application/x-www-form-urlencoded"}
response = requests.post(url, data=body, headers=header_dict)
return json.loads(response.text)
# account 用戶賬號
# pswd 必填參數。用戶密碼
# mobile 必填參數。合法的手機號碼
# msg 必填參數。短信內容
# ts 可選參數,時間戳,格式yyyyMMddHHmmss
# state 必填參數 狀態 1:驗證碼短信 2:營銷短信 3:語音驗證碼
message = "您的驗證碼爲:%d,如非本人操作注意賬戶安全。" % (323456)
send = SendCode()
res = send.send('186xxxx5808', 'xrRiGiSt5pgpve.', '186xxxx5808', message, (int(time.time())), 1)
print(res['result'])
注意
- 簽名信息,平臺會自動進行添加,在message內容裏面不需要再添加【短信簽名】
- message信息需要再平臺先報備審覈,平臺會進行信息匹配,如果已經審覈通過纔會發送出去。
- 發送成功返回result爲0,如果message信息匹配失敗,返回115。
- 第一條審覈短信可能慢一點,正常狀態短信是秒發效果。
參考
平臺例子:
https://www.shmiaosai.com/support/show-76.html
其他的信息也可以通過平臺進行參考