python自動發送短信驗證碼、短信通知、營銷短信、語音短信

流程

發送手機號碼通知或者短信,我們可以通過平臺來自動批量的發送短信。

需要先在平臺上面完成身份認證、簽名認證、信息內容報備,平臺審覈通過後纔可以使用。

測試

下面是以"秒賽科技"來進行測試,之前有試過阿里雲,平臺驗證比較嚴格,要求是企業信息驗證,個人測試不方便。

#!/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'])

注意

  1. 簽名信息,平臺會自動進行添加,在message內容裏面不需要再添加【短信簽名】
  2. message信息需要再平臺先報備審覈,平臺會進行信息匹配,如果已經審覈通過纔會發送出去。
  3. 發送成功返回result爲0,如果message信息匹配失敗,返回115。
  4. 第一條審覈短信可能慢一點,正常狀態短信是秒發效果。

參考

平臺例子:
https://www.shmiaosai.com/support/show-76.html
其他的信息也可以通過平臺進行參考

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章