luffyapi项目 --短信认证的基本操作
一.开通腾讯云短信
SDK 文档 :https://cloud.tencent.com/document/product/382/11672
1、官网注册实名账号:https://cloud.tencent.com
2、选取短信服务创建短信应用
3、申请签名与短信模板 - 通过微信公众号申请
# 可以作为我们的测试脚本文件 import os
import django
import sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffyapi.settings.dev")
django.setup() # 导包
# from django.conf import settings
#
# print(settings) # <Settings "luffyapi.settings.dev"> 当前的开发环境 from utils.loggings import logger logger.critical('测试logger') # 短信验证 参数的配置
# 短信应用 SDK AppID
appid = 1400278004 # SDK AppID 以1400开头
# 短信应用 SDK AppKey
appkey = "2addd431cd782a9afb75e9c85df66028" # 需要发送短信的手机号码
phone_numbers = [""]
# 短信模板ID,需要在短信控制台中申请
template_id = 457157 # NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
# 签名
sms_sign = "AlieeMye的技术栈" # NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台中申请 # 指定id 单发短信
# 随机验证码
from utils.loggings import logger
from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError
import random
def get_code():
code = ""
for i in range(5):
num = str(random.randint(0,9)) code += num
return code if __name__ == '__main__': ssender = SmsSingleSender(appid, appkey)
# 函数的调用
code = get_code()
print(code)
# # 短信模板的值
params = [code, 5] # 当模板没有参数时,`params = ["有两个参数第一个是我们的验证码",过期时间]`
try:
result = ssender.send_with_param(86, phone_numbers[0], template_id, params, sign=sms_sign, extend="", ext="")
print(result)
if result and result['result'] == 0:
print('短信发送成功')
except HTTPError as e:
print(e)
except Exception as e:
print(e)
# 日志记录错误信息 logger.warning(e)
print('短信发送失败')
# 导包
# from libs import txsms
# code = txsms.get_code()
# print(code)
# print(txsms.send_sms('13122358108', code, 5))
二.腾讯云短信二次封装
seetings 的配置
# 短信应用 SDK AppID - SDK AppID 以1400开头
# 短信的settings 的配置 短信应用SDK APPID >>>以1400
App_ID = 1400278004
# 短信应用 APPker
APP_KEY = '2addd431cd782a9afb75e9c85df66028' # 短信模板ID 需要在控制台中申请 模块 TEMPLATE_ID = 457157 # 签名内容 SMS_SING = 'AlieeMye的技术栈'
# 电话前缀
MOBILE_PREFIX = 86
sms 获取验证码
# 通过MacOS ssl安全认证
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
# 获取去短息验证功能 短信发送 # 获取验证号功能
import random def get_code():
code = ""
for i in range(6):
num = str(random.randint(0, 9)) code += num
return code # 短信发送者
from qcloudsms_py import SmsSingleSender
from . import setttings
from .setttings import * ssender = SmsSingleSender(setttings.App_ID, setttings.APP_KEY) # 发送验证码
from utils.loggings import logger def send_sms(mobile, code, exp):
try:
response = ssender.send_with_param(MOBILE_PREFIX, mobile, TEMPLATE_ID, (code, exp), sign=SMS_SING, extend="",
ext="")
if response and response['result'] == 0:
return True
logger.warning('%s_%s' % ('发送成功', response['result'])) except Exception as e:
logger.warning('%s-%s' % ('短信发送失败', e)) return False
test.py
# 导包
# from libs import txsms
# code = txsms.get_code()
# print(code)
# print(txsms.send_sms('13122358108', code, 5))
luffyapi项目 --短信认证的基本操作的更多相关文章
- [权限管理系统(四)]-spring boot +spring security短信认证+redis整合
[权限管理系统]spring boot +spring security短信认证+redis整合 现在主流的登录方式主要有 3 种:账号密码登录.短信验证码登录和第三方授权登录,前面一节Sprin ...
- 全新升级的WiFi无线上网短信认证系统,适用于咖啡厅、足浴等公共场所,提高门门店营业收入
WiFi无线上网短信认证系统经历从1.0到1.88的升级,都是用户在使用过程中,提出宝贵的意见,一直修复至今,有着非常稳定的版本. 这个软件有什么作用?WiFi为什么要认证呢? 其实这个只是获取用户联 ...
- iOS之短信认证
短信验证 现在很多的短信验证平台,我们比较常用的有移动开发者服务平台 根据短信验证文档来集成 1. 找到iOS短信验证的集成开发文档 2. 下载SDK和Demo目录结构 3. 运行Demo 4. 写 ...
- Android项目——短信发送器
因为应用要使用手机的短信服务,所以要在清单文件AndroidManifest.xml中添加短信服务权限: <?xml version="1.0" encoding=" ...
- github二次认证接收短信的问题
这两天登陆github都被提示说我账号的密码已经被归类,提醒我修改密码. 改密码的时候发现GitHub有个二次认证的功能,分别是app和sms短信认证.app这里就不讲了,我们讲一下github的短信 ...
- SpringBoot + Spring Security 学习笔记(五)实现短信验证码+登录功能
在 Spring Security 中基于表单的认证模式,默认就是密码帐号登录认证,那么对于短信验证码+登录的方式,Spring Security 没有现成的接口可以使用,所以需要自己的封装一个类似的 ...
- quartz-job实现实时或定时发送短信任务
存放调度器(Job 和 Trigger)信息的xml配置文件: 这是某个指定的要实现的定时任务: <!-- 每天给项目经理发送短信避免短信服务挂了 定时每天08:30执行--> <j ...
- day80_10_29git冲突解决与短信服务redis
一.开发中的操作. 在项目开发中,在工作区进行开发,开发结束后提交到本地版本库. 再拉取远程仓库,具体如下: """ 1.开发前,拉一次远程仓库 2.工作区进行开发 3. ...
- django 之(五) --- 验证码|富文本|邮箱短信
验证码 在用户登录,注册以及一些敏感操作的时候,我们为了防止服务器被暴力请求,或爬虫爬取,我们可以使用验证码进行过滤,减轻服务器的压力. 原生实现: 库名:pip install Pillow ...
随机推荐
- LeetCode124----二叉树中最大路径和
给定一个非空二叉树,返回其最大路径和. 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列.该路径至少包含一个节点,且不需要经过根节点. 示例 1: 输入: [1,2,3] 1 / \ 2 ...
- Miniui 表单验证
自定义表单验证: input输入框的表单验证可通过vtype和onvalidation事件两种方式实现 可编辑列表(例如div)的表单验证只能通过vtye来实现表单验证 (1)vtype方式: jsp ...
- Java_IO流实验
实验题目链接:Java第09次实验(IO流) 0. 字节流与二进制文件 我的代码 package experiment.io; import java.io.DataInputStream; impo ...
- HTML功能框架
起始预定义函数 function $(obj) { return document.getElementById(obj); } 1.用户登陆框架 <!DOCTYPE html> < ...
- 按模版导出Excel
实现效果: excel模版: ExcelHandle.java package com.common.utils; import java.io.File; import java.io.FileIn ...
- C# NAudio 变声
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- IDEA项目添加第三方依赖
1.在项目WEB-INF文件夹下面新建一个lib文件夹并将我们需要的第三方jar包拷贝进去: Ctrl+Shift+Alt+S打开项目配置页面: 选择我们存放jar包的文件夹: 选择我们需要引入目标依 ...
- Prism学习--实现可插拔的模块
首先,在使用Prism框架加载的程序集中分别添加一个类,并让这些类实现IModule接口.当Prism框架加载某个程序集后,将首先在程序集中搜索实现了该接口的类.之后将会调用该接口的Initializ ...
- Oracle 归档日志管理
一.Oracle日志介绍 1.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和 redo log ...
- windows中eclipse连接虚拟机hdfs
1.修改配置文件core-site.xml,将其中localhost改为虚拟机的ip地址: 在Ubuntu中,打开控制台,使用命令ifconfig查看虚拟机ip,如图: 修改[hadoop安装路径]/ ...