一.开通腾讯云短信

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项目 --短信认证的基本操作的更多相关文章

  1. [权限管理系统(四)]-spring boot +spring security短信认证+redis整合

    [权限管理系统]spring boot +spring security短信认证+redis整合   现在主流的登录方式主要有 3 种:账号密码登录.短信验证码登录和第三方授权登录,前面一节Sprin ...

  2. 全新升级的WiFi无线上网短信认证系统,适用于咖啡厅、足浴等公共场所,提高门门店营业收入

    WiFi无线上网短信认证系统经历从1.0到1.88的升级,都是用户在使用过程中,提出宝贵的意见,一直修复至今,有着非常稳定的版本. 这个软件有什么作用?WiFi为什么要认证呢? 其实这个只是获取用户联 ...

  3. iOS之短信认证

    短信验证 现在很多的短信验证平台,我们比较常用的有移动开发者服务平台 根据短信验证文档来集成 1. 找到iOS短信验证的集成开发文档 2. 下载SDK和Demo目录结构  3. 运行Demo 4. 写 ...

  4. Android项目——短信发送器

    因为应用要使用手机的短信服务,所以要在清单文件AndroidManifest.xml中添加短信服务权限: <?xml version="1.0" encoding=" ...

  5. github二次认证接收短信的问题

    这两天登陆github都被提示说我账号的密码已经被归类,提醒我修改密码. 改密码的时候发现GitHub有个二次认证的功能,分别是app和sms短信认证.app这里就不讲了,我们讲一下github的短信 ...

  6. SpringBoot + Spring Security 学习笔记(五)实现短信验证码+登录功能

    在 Spring Security 中基于表单的认证模式,默认就是密码帐号登录认证,那么对于短信验证码+登录的方式,Spring Security 没有现成的接口可以使用,所以需要自己的封装一个类似的 ...

  7. quartz-job实现实时或定时发送短信任务

    存放调度器(Job 和 Trigger)信息的xml配置文件: 这是某个指定的要实现的定时任务: <!-- 每天给项目经理发送短信避免短信服务挂了 定时每天08:30执行--> <j ...

  8. day80_10_29git冲突解决与短信服务redis

    一.开发中的操作. 在项目开发中,在工作区进行开发,开发结束后提交到本地版本库. 再拉取远程仓库,具体如下: """ 1.开发前,拉一次远程仓库 2.工作区进行开发 3. ...

  9. django 之(五) --- 验证码|富文本|邮箱短信

    验证码 在用户登录,注册以及一些敏感操作的时候,我们为了防止服务器被暴力请求,或爬虫爬取,我们可以使用验证码进行过滤,减轻服务器的压力. 原生实现: 库名:pip install Pillow     ...

随机推荐

  1. python中的实例方法、类方法、静态方法的区别

    Python 除了拥有实例方法外,还拥有静态方法和类方法,跟Java相比需要理解这个类方法的含义. class Foo(object): def test(self)://定义了实例方法 print( ...

  2. leetcode-easy-math-204 Count Primes-NO

    mycode     time limited class Solution(object): def countPrimes(self, n): """ :type n ...

  3. UVA 1025 -- A Spy in the Metro (DP)

     UVA 1025 -- A Spy in the Metro  题意:  一个间谍要从第一个车站到第n个车站去会见另一个,在是期间有n个车站,有来回的车站,让你在时间T内时到达n,并且等车时间最短, ...

  4. UVA 572 -- Oil Deposits(DFS求连通块+种子填充算法)

    UVA 572 -- Oil Deposits(DFS求连通块) 图也有DFS和BFS遍历,由于DFS更好写,所以一般用DFS寻找连通块. 下述代码用一个二重循环来找到当前格子的相邻8个格子,也可用常 ...

  5. SQL Server AlwaysOn原理简介

    SQL Server2012所支持的AlwaysOn技术集中了故障转移群集.数据库镜像和日志传送三者的优点,但又不相同.故障转移群集的单位是SQL实例,数据库镜像和日志传送的单位是单个用户数据库,而A ...

  6. D4上午

    概率和期望DP 概率 某个事件A发生的可能性的大小,称之为事件A的概率,记作P(A). 假设某事的所有可能结果有n种,每种结果都是等概率,事件A涵盖其中的m种,那么P(A)=m/n. 例如投掷一枚骰子 ...

  7. [VBA]去重汇总-2

    代码来源Excelhome,链接:http://club.excelhome.net/thread-1360829-1-1.html 存着,以后借鉴着用^-^ Sub 去重汇总() Dim arr, ...

  8. oracle 四舍五入 取得的数值

    SELECT ROUND( number, [ decimal_places ] ) FROM DUAL 说明: number : 将要处理的数值 decimal_places : 四舍五入,小数取几 ...

  9. rocketMQ 消息的 tag

    tag 的使用场景:不同的消费组,订阅同一 topic 不同的 tag,拉取不同的消息并消费.在 topic 内部对消息进行隔离. producer 发送消息,指定 tag Message msg = ...

  10. 网易云课堂_C++程序设计入门(下)_期末考试_期末考试在线编程题目

    期末考试在线编程题目 返回考试   本次考试题目一共两个,在考试期间可以不限制次数地提交 温馨提示: 1.本次考试属于Online Judge题目,提交后由系统即时判分. 2.学生可以在考试截止时间 ...