Python短信接口
Python短信接口开发示例下载示例
from sysApi import SmsApi
# /*--------------------------------
# 功能: 使用smsApi类发送短信
# 说明: https://api.sms.cn/sms/?ac=send&uid=用户账号&pwd=MD5位32密码&mobile=号码&content=内容
# 官网: www.sms.cn
# 状态: {"stat":"100","message":"发送成功"}
#
# 100 发送成功
# 101 验证失败
# 102 短信不足
# 103 操作失败
# 104 非法字符
# 105 内容过多
# 106 号码过多
# 107 频率过快
# 108 号码内容空
# 109 账号冻结
# 112 号码错误
# 116 禁止接口发送
# 117 绑定IP不正确
# 161 未添加短信模板
# 162 模板格式不正确
# 163 模板ID不正确
# 164 全文模板不匹配
# --------------------------------*/
# 接口账号
uid = 'xxxxxxxxx'
# 接口密码
pwd = 'xxxxxxxxxxxxxxxxxxxxxxx'
# 实例化接口
api = SmsApi(uid, pwd)
# /*
# * 变量模板发送示例
# * 模板内容:您的验证码是:{$code},对用户{$product}操作绑定手机号,有效期为5分钟。如非本人操作,可不用理会。【云信】
# * 变量模板ID:100003
# */
# 号码
mobile = '130xxxx2361'
# 变量模板ID
template = '100003'
# 短信内容参数
contentParam = {"code": api.rand_number(), "product": "zmc"}
# 发送变量模板短信
result = api.send(mobile, contentParam, template)
if result["stat"] == "100":
print('发送成功')
else:
print('发送失败: '+result['stat']+'('+result['message']+')')
#
# * 全文模板发送示例
# * 模板内容:登录验证码:{**}。如非本人操作,可不用理会!【云信】
#
# 发送的手机 多个号码用,英文逗号隔开
mobile = '130xxxx2361'
# 短信内容 登录验证码:【博好云】
content = '登录验证码:'+api.rand_number()+'。如非本人操作,可不用理会!【博好云】'
# 发送全文模板短信
result = api.send_all(mobile, content)
if result["stat"] == "100":
print('发送成功')
else:
print('发送失败: '+result['stat']+'('+result['message']+')')
"""
# SmsApi file
"""
from random import shuffle
import json
import constant
import requests as req
from urllib.parse import urlencode
"""
# SMS短信接口类
# @author sms.cn
# @link http://www.sms.cn
"""
class SmsApi:
"""
#SMSAPI请求地址
"""
constant.Constant.API_URL = 'http://api.sms.cn/sms/'
"""
#接口账号
#@var string
"""
_uid = ''
"""
# 接口密码
# @var string
# @link http://sms.sms.cn/ 请到此处(短信设置->接口密码)获取
"""
_pwd = ''
"""
#sms api 请求地址
#@var string
"""
_apiURL = ''
"""
#短信发送请求参数
#@var string
"""
_smsParams = ''
"""
#接口返回信息
#@var string
"""
_resultMsg = ''
"""
#接口返回信息格式
#@var string
"""
_format = ''
"""
#构造方法
#@param string _uid 接口账号
#@param string _pwd 接口密码
"""
def __init__(self, _uid, _pwd):
self.API_URL = constant.Constant.API_URL
self._pwd = _pwd
self._uid = _uid
self._format = 'json'
"""
#SMS公共参数
* @ return dict
"""
def public_params(self):
return {
'uid': self._uid,
'pwd': self._pwd,
'format': self._format
}
"""
#获取随机位数数字
# @ param
integer $len
长度
#@ return string
"""
def rand_number(self, length=6):
chars = ("0123456789" * 10)
str_list = list(chars)
# 调用random模块的shuffle函数打乱列表
shuffle(str_list)
# 将列表转字符串
chars = ''.join(str_list)
code = chars[0:length]
return code
def request(self):
params = {**self._smsParams, **self.public_params()}
send_params = urlencode(params)
send_return = req.request('get', constant.Constant.API_URL+'?'+send_params)
return send_return.json()
"""
# 发送变量模板短信
# @sparam string mobile 手机号码
# @param string content 短信内容参数
# @param string template 短信模板ID
# @return dict
"""
def send(self, mobile='', contentParam={}, template=''):
self._smsParams = {
'ac': 'send',
'mobile': mobile,
'content': json.dumps(contentParam),
'template': template
}
self._resultMsg = self.request()
return self._resultMsg
"""
# 发送全文模板短信
# @ param
# string mobile
# 手机号码
# @ param
# string content
# 短信内容
# @ return dict
"""
def send_all(self, mobile='', content=''):
# 短信发送参数
self._smsParams = {
'ac': 'send',
'mobile': mobile,
'content': content
}
self._resultMsg = self.request()
return self._resultMsg
Python短信接口开发示例下载示例
现在注册即享免费试用
服务热线:
400-113-0919