首先在根目录下定义全局使用的连接容联云py的文件

下载SDK pip install ronglian_sms_sdk

在文件中导入 ↓

from ronglian_sms_sdk import SmsSDK

代码↓

accId = '   '  # ACCOUNT SID (主账户ID)
accToken = '  ' # AUTH TOKEN (账户授权令牌)
appId = '   '  # AppID(默认)

def send_message(mobile):sdk = SmsSDK(accId, accToken, appId)# 发送短信的模板# 容联云分配的一个测试短信验证码模版tid = '1'# 想这个手机发送短信# 要实现用户输入手机号,给这个手机号发送短信验证码# 发送短信验证码的内容# 发送短信验证码的内容# datas是一个元组类型data_ = random.randint(100000,999999)r = redis.Redis(host='localhost', password='tangyuan', port=6379, db=5)r.set("sms_%s"%mobile,data_, ex=120)datas = (data_,)resp = sdk.sendMessage(tid,mobile,datas)print(resp)return resp
# 由于当前演示时,不能实现多用户登录,所以我们默认状态码为112310也是正确的
# mobile = input('请输入手机号>>>')
# send_message(mobile)

在登录或注册时获取手机号 通过手机号获取手机验证码 将容联云py文件中定义的函数 导入视图

from django.shortcuts import render
from rest_framework.views import APIView
from utils.gen_token import gen_token
from rest_framework.response import Response
from .models import *
from utils.send_message import send_message
from django.contrib.auth.hashers import make_password,check_password
import re,random,redis,json
class LoginView(APIView):def post(self,request):username = request.data.get('username')phone = request.data.get('phone')password = request.data.get('password')sms_code = request.data.get('sms_code')if not all([username,password,phone,sms_code]):return Response({'code':400,'message':"数据不完整"})# 校验验证码是否正确cls = redis.Redis(host='localhost',password='密码',port=6379,db=5)r_data = cls.get('sms_%s'%phone)if sms_code != r_data.decode():return Response({'code':400,'message':"验证码错误"})try:user  = Users.objects.get(username=username)if not check_password(password,user.password):return Response({'code':400,'msg':"密码错误"})token = gen_token(user.username)return Response({'code': 200,'message': "登录成功",'token':token,'user':user.username})except:token = gen_token(username)Users.objects.create(username=username,password=make_password(password),phone=phone)# 返回响应return Response({'code': 200,'message': "登录成功",'token':token,'user':user.username})

容联云发送手机短信验证码相关推荐

  1. 【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)

    发送手机短信验证码 前言 一. 准备工作 二. 配置 三. 实战代码(仅仅是后台代码,前端传入手机号) 总结 前言 在网站和移动应用中利用短信验证码进行信息确认是最常用的验证手段.随着短信验证码的技术 ...

  2. 如何发送手机短信验证码

    文章目录 阿里云短信业务实战教程 1.阿里云平台的使用 2.创建用户组及用户并添加权限 3.添加短信签名和短信模板并充值费用 4.开发工具进行代码部分(这里使用IDEA) 阿里云短信业务实战教程 手机 ...

  3. 基于阿里云的手机短信验证码和注册校验逻辑

    基于阿里云的手机短信验证码demo实现 1. 环境依赖 2. 页面表单 html 3. 校验与短信 js 4. 工具类 SmsUtils 5. 资源调用 Servlet 阿里云的短信平台:http:/ ...

  4. 发送手机短信验证码-后端、前端(验证码倒计时)

    获取手机短信验证码-后端.前端(验证码倒计时) 后端 /*** 发送手机短信验证码** @return str* @throws Exception* @author 王永圣*/@RequestMap ...

  5. 阿里云发送手机短信 (呆瓜教学)

    阿里云发送手机短信 1.登录注册阿里云账号 在搜索框中输入106三网短信 2.找到有0元测试套餐的商品 3.选择0元5条的套餐 4.购买成功后右上角买家中心-管理控制台 5.打开后可以看到刚刚下单的短 ...

  6. Java调用WebService接口实现发送手机短信验证码功能,java 手机验证码,WebService接口调用...

    近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用到了第三方提供的短信平台接口WebService客户端接口,下面我把我在项目中用到的记录一下,以便给大家提供个思路,由于本人的文采有限, ...

  7. Java调用WebService接口实现发送手机短信验证码功能

    为什么80%的码农都做不了架构师?>>>    一.样式示例: 二.前台的注册页面的代码:reg.jsp <%@ page language="java" ...

  8. java调接口实现发送手机短信验证码功能,手机验证码,接口调用

    原文地址:  http://blog.csdn.net/sxdtzhaoxinguo/article/details/34437591 近来由于项目需要,需要用到手机短信验证码的功能,其中最主要的是用 ...

  9. 容联云 PHP 实现短信发送验证码

    文档传送门. 注册号账号 有免费的短信可以用 添加测试账号 下载sdk https://github.com/cloopen/php-sms-sdk 解压到PHP框架内 引入 sdk 到index入口 ...

最新文章

  1. [深度学习]实现一个博弈型的AI,从五子棋开始(1)
  2. 一位996、CRUD开发者的一天
  3. boost::ratio_not_equal相关的测试程序
  4. java中的方法 net.中的函数_.Net转Java.01.从Main(main)函数说起
  5. Python实现二叉树的非递归先序遍历
  6. Linux下Vim工具常用命令
  7. 对java:comp/env的研究(转)
  8. 手机定位折腾记(1):安卓手机的网络定位与NetworkLocation.apk
  9. DOS攻击工具——pentmenu
  10. vue如何跳转支付宝付款页面
  11. 分段线性函数三种MIP模型
  12. 解决sublime text2字体显示模糊问题
  13. 实验四实验四实验四啊!
  14. Ubuntu出现device not managed 如何解决?
  15. HTML期末作业,基于html实现中国脸谱传统文化网站设计(5个页面)
  16. 如何将低版本的CAD转换器转换成高版本
  17. java中几种创建对象的方式
  18. 男人在神永恒国度里的沉思录
  19. nextjs动态导入和 ssr:false
  20. Python笔记_23_正则相关函数_类中的方法_装饰器_异常

热门文章

  1. 驱动辅助资料(工具,目录,指令,debug经验)
  2. VUE通过自定义指令,只允许输入大写英文以及数字
  3. c语言测试你的性格,测试你性格中最真实的一面
  4. 学机器学习有必要懂数学吗?深入浅出机器学习与数学的关系
  5. 7.1.3 Python进阶 《函数》定义、调用,参数,返回值《面向对象》概念,类,实例,对象,属性,方法《模块、包》导入,自定义,常用内置:datatime,time,random,os,sys
  6. android---转轮菜单
  7. Windows Mobile 7.0最新消息!!
  8. 谷歌 火狐 主页被篡改,修改文件名解决
  9. TVS管和稳压管两者比较
  10. 编程java好学吗,编程好学吗?零基础学多久能入门?