文章目录

  • 1.注册容连云
    • 1.1 登录即可看到开发者账号信息
    • 1.2 添加测试账号
  • 2.使用容联云发送代码测
  • 3.在视图函数中使用
    • 3.1写视图函数
    • 3.1 添加路由

1.注册容连云

注册地址


1.1 登录即可看到开发者账号信息


1.2 添加测试账号


2.使用容联云发送代码测

'''1. 安装容联云sdk'''
pip install ronglian_sms_sdk
# 免费测试文档地址:https://doc.yuntongxun.com/p/5a531a353b8496dd00dcdfe2'''2. 短信发送代码'''
# libs/rl_sms.py  # 放哪里都行
from ronglian_sms_sdk import SmsSDK
accId = '8a216da8747ac98201749c0de38723b7'  # 开发者主账号 中的 ACCOUNT SID
accToken = '86072b540b4648229b27400414150ef2' # 开发者主账号 中的 AUTH TOKEN
appId = '8a216da8747ac98201749c0de45123be'  # 开发者主账号 中的 AppIDdef send_message(phone, datas):sdk = SmsSDK(accId, accToken, appId)tid = '1' # 测试模板id为: 1. 内容为: 【云通讯】您的验证码是{1},请于{2}分钟内正确输入。# mobile = '133034xxxx'# datas = ('666777', '5') # 模板中的参数按照位置传递 (验证码,有效时间)resp = sdk.sendMessage(tid, phone, datas)return resp

3.在视图函数中使用

3.1写视图函数

from rest_framework.permissions import AllowAny
from rest_framework.views import APIView
from rest_framework.response import Response
import re
import random
from utils.rl_sms import send_message   # 引入短息接口 class SmsCodeView(APIView):# 1. 所有人可以访问permission_classes = (AllowAny,)def post(self, request):# 1. 获取参数phone = request.data.get('phone')image_code = request.data.get('image_code')image_code_uuid = request.data.get('image_code_uuid')# 2. 检查参数if not all([phone, image_code, image_code_uuid]):return Response({"code": 999, "msg": "参数不全"})if not re.match(r'^1[3456789]\d{9}$', phone):return Response({"code": 999, "msg": "手机号码不正确"})# 3. 检查是否发送redis_client = get_redis_connection('img_code')phone_exists = redis_client.get(phone)if phone_exists:return Response({"code": 999, "msg": "频繁发送, 请稍后再试"})redis_image_code = redis_client.get(image_code_uuid) # bytesif redis_image_code:# bytes 转成 stringredis_image_code = redis_image_code.decode()# 比较用户提供的图片内容是否和redis中保存的一致if image_code.upper() != redis_image_code:return Response({'code': 999, 'msg': '图片验证码不正确'})# 4. 发送code = '%06d' % random.randint(0, 999999) # 随机6位验证码send_resp = send_message(phone, (code, "5"))# 5.1 保存code 到 redis中# redis_client.setex(phone, 60 * 5, code) # phone:code, 5分钟有效期# 5.2 从redis中删除这个图片验证码, 以防再次被使用# redis_client.delete(image_code_uuid)# 5.3 使用 pipeline 批量操作pl = redis_client.pipeline()pl.setex(phone, 60 * 5, code)pl.delete(image_code_uuid)pl.execute()# 6. 返回结果return Response({"code": 0, "msg": "短信发送成功"})

3.1 添加路由

urlpatterns = [path('sms_codes/', views.SmsCodeView.as_view()), # 可以直接访问测试
]

python 容联云测试短信接口相关推荐

  1. 容联云通讯短信接口 Python3 文档

    容联云通讯官方还未发布python3以上的版本,此文档是向云通讯的工作人员获取的,下载后解压可以直接使用

  2. Go语言初识应用--容联云发送短信验证码、手机号注册

    使用gin框架.gorm映射 所使用的连接容联云参考容联云官方文档,放置到utils中, gin项目结构根据自身需要,大题如下设置: utils--sms.go package main import ...

  3. Django使用容联云发送短信验证码时提示:172001,网络错误

    尝试用django连接容联云发送短信验证码,运行时出现了以下提示:{'172001':'网络错误'}:在网上查阅资料后得知,是因为python升级到2.7.9之后引入了一个新特性,当打开一个https ...

  4. luffcc项目-06-使用容联云发送短信、Celery

    一.使用容联云发送短信 https://www.yuntongxun.com/ 目录结构 sms.py import json from .SmsSDK import SmsSDK from djan ...

  5. 容联云发送短信验证码

    setting配置 # 配置jwt的全局认证 REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES':['rest_framework_jwt.authe ...

  6. python荣联云通讯短信平台

    荣联云通讯短信平台 注册账号 管理模块>>应用管理>>创建应用>>编辑应用>>勾选短信验证码 安装 requests 模块 pip install re ...

  7. 容联云通讯短信平台JS调用

    容联云通讯官网 1.注册 注册成功之后,会赠送8元进行测试 记录账号信息用于代码中配置 添加测试号码用于测试 2.接口配置(js) var md5 = require('blueimp-md5') v ...

  8. flask容联云发送短信验证码和异步发送

    容联云地址:https://www.yuntongxun.com/ 获取短信验证码流程图 容联云配置 在容联云官网注册一个账号,发送短信验证码必须使用三个ID ACCOUNT SID   (主账户ID ...

  9. 使用容联云获取短信验证码

    容联云地址:https://www.yuntongxun.com/ 获取短信验证码流程图 容联云配置 在容联云官网注册一个账号,发送短信验证码必须使用三个ID ACCOUNT SID   (主账户ID ...

最新文章

  1. 【OSX】build AOSP 2.3.7时的build error解决
  2. Flutter开发之Stack组件(层叠布局)(19)
  3. hdu 2222:Keywords Search
  4. 【杂谈】从学员到专栏作者、讲师,我在有三AI学习与名利双收的故事
  5. UNITY2018 真机开启deepprofiling的操作
  6. [CTO札记]Google数字图书馆对中国版权的威胁
  7. 动力环境监控系统论文_浅析建设智能化动力环境监控系统维护水平论文
  8. iOS开发笔记 基于wsdl2objc调用asp.net WebService
  9. 设置将Maven的jar包发布到lib
  10. Java学习(16-20天, 线性数据结构)
  11. 计数器matlab,MATLAB中的几个时间计数器
  12. 打开PowerPoint提示:PowerPoint上次起送时失败。以安全模式启动PowperPoint将帮助您纠正或发现启动中的问题
  13. 关于系统架构你不知道的那些事-架构设计流程:评估和选择备选方案
  14. ubuntu rsync 命令拷贝,显示进度
  15. 微信公众号自动回复多图文(php)
  16. 讲清MVC、MVP、MVVM,看这一篇文章就够了
  17. 军工企业信息化建设周涛_乘“云”之势,浪潮ERP布局军工企业云
  18. 女孩如何选择一个好听又适合的英语名字?
  19. 提醒大家有关越狱组it学院vip会员有猫腻,要小心。。。
  20. 详解哈希数据结构,手写哈希表

热门文章

  1. 配置Pico App ID
  2. matlab仿真单关节机器人,用MATLAB玩转机器人--第六章 用MATLAB玩转单关节机器人
  3. 当用户用input() 函数输入演员名字在屏幕 上打印出xx出演电影xx
  4. android 和 js 之间交互的封装
  5. 课程笔记-三维点云处理01 ——Introduction and Basic Algorithms
  6. 深圳大学计算机与软件学院2018分数线,深圳大学录取分数线2021是多少分(附历年录取分数线)...
  7. 自定义View——弹性滑动
  8. lotus domino_保护IBM Lotus Domino Web服务器的安全:案例研究
  9. vue 页面增加url前缀
  10. java写的表白小程序_Java实现表白小程序