python发送短信验证码
业务:
手机端点击发送验证码,请求发送到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字短信内容过长,请筛检或分多次发送
105appId错误或应用不存在请联系工作人员申请应用或检查appId是否输入错误
106应用被禁止请联系工作人员查看原因
107ip错误如果设置了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))