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字 | 短信内容过长,请筛检或分多次发送 |
| 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))
python发送短信验证码的更多相关文章
- Python发送短信提醒
Python发送短信可借助腾讯云平台提供的短信服务 发送短信需要的及格参数: 1.SDK_AppID和SDK_Key 2.签名: 3.模板ID 下面贴出源码DEMO: from qcloudsms_p ...
- Python3实现发送邮件和发送短信验证码
Python3实现发送邮件和发送短信验证码 Python3实现发送邮件: import smtplib from email.mime.text import MIMEText from email. ...
- python-在python3中使用容联云通讯发送短信验证码
容联云通讯是第三方平台,能够提供短信验证码和语音通信等功能,这里只测试使用短信验证码的功能,因此只需完成注册登录(无需实名认证等)即可使用其短信验证码免费测试服务,不过免费测试服务只能给控制台中指定的 ...
- 超实用的JavaScript代码段 Item4 --发送短信验证码
发送短信验证码 实现点击“发送验证码”按钮后,按钮依次显示为“59秒后重试”.“58秒后重试”…直至倒计时至0秒时再恢复显示为“发送验证码”.在倒计时期间按钮为禁用状态 . 第一步.获取按钮.绑定事件 ...
- Laravel5中使用阿里大于(鱼)发送短信验证码
在做用户注册和个人中心的安全管理时,我实现借助第三方短信平台(阿里大于(鱼))在Laravel框架中进行手机验证的设置:阿里大于,是阿里通信旗下优质便捷的云通信服务平台,整合了三大运营商的通信能力,为 ...
- 微信小程序发送短信验证码完整实例
微信小程序注册完整实例,发送短信验证码,带60秒倒计时功能,无需服务器端.效果图: 代码: index.wxml <!--index.wxml--> <view class=&quo ...
- java + maven 实现发送短信验证码功能
如何使用java + maven的项目环境发送短信验证码,本文使用的是榛子云短信 的接口. 1. 安装sdk 下载地址: http://smsow.zhenzikj.com/doc/sdk.html ...
- android发送短信验证码并自动获取验证码填充文本框
android注册发送短信验证码并自动获取短信,截取数字验证码填充文本框. 一.接入短信平台 首先需要选择短信平台接入,这里使用的是榛子云短信平台(http://smsow.zhenzikj.com) ...
- java 阿里云接口实现发送短信验证码
此刻自己做的小项目中,需要用到手机发送短信验证码实现注册功能,于是就去阿里云注册了账号,并实现随机发送验证码的功能 第一步:在阿里云官网登录注册 已有支付宝或淘宝的账号可以直接登录,最后需要实名认 ...
随机推荐
- scala可变var与不可变val的理解
我们定义变量的时候分为var可变变量和val不可变变量. 我们使用容器的时候也分为可变容器和不可变容器. List和Tuple本身就是不可变的,set和map分为可变和不可变的,默认为不可变. 我们看 ...
- XSS闯关游戏准备阶段及XSS构造方法
请下载好XSS闯关文件后,解压后放在服务器的对应文件夹即可 在该闯关中,会在网页提示一个payload数值 payload,翻译过来是有效载荷 通常在传输数据时,为了使数据传输更可靠,要把原始数据分批 ...
- POJ 1556 The Doors(线段相交+最短路)
题目: Description You are to find the length of the shortest path through a chamber containing obstruc ...
- pt-online-schema-change VS oak-online-alter-table【转】
前言 在上篇文章中提到了MySQL 5.6 Online DDL,如果是MySQL 5.5的版本在DDL方面是要付出代价的,虽然已经有了Fast index Creation,但是在添加字段还是会锁表 ...
- webstorm允许移动端访问本地html页面的方法
- redis更多
应用场景 存放频繁操作的数据,以及一些无须保存到数据库的中间值 应用: - 配合django做缓存,常用且不易修改的数据放进来(博客) - 购物车信息 - Session - 缓存配置文件 - ses ...
- 更改Ubuntu默认python版本的方法
当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.一般Ubuntu默认的Python版本都为2. ...
- XAMPP环境下配置Phalcon框架
目前环境:win7 xampp 从phalcon 官网下载如下包:https://phalconphp.com/en/download/windows phalcon_x86_vc11_php5.6 ...
- Docker安装MySQL数据库
本文翻译自:MySQL Docker Containers:Understanding the basics 1.下载MySQL镜像 docker pull mysql:5.6 如此便可以下载最新的M ...
- IIS配置页面重写(配合插件url-rewrite2去除页面后缀名)
本来一直想了解浏览器地址栏中url后缀名如何去除,今天正好抽空折腾一下. 下面参考一位博友文章(出处见文章末尾),基于windows平台(windows7)详细介绍. 1. URL重写组件url-re ...