python发送短信验证码

时间:2022-06-03 19:51:52

业务:

手机端点击发送验证码,请求发送到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))