短信验证

使用的是荣联云通讯短信平台
https://www.yuntongxun.com/
1. 注册账号

2. 创建应用
控制台 --> 应用管理 --> 创建应用
可以使用默认应用进行测试

3. 添加测试号码
平台管理 --> 测试号码

4.将以下代码写入视图函数中
安装 request 模块

pip3 install requests
  import hashlib,base64,requests,json
  from datetime import datetime
  class YunTongXin:
      __base_url = 'https://app.cloopen.com:8883/2013-12-26/Accounts/{}/SMS/TemplateSMS?sig={}'
      # 初始化代码
      def __init__(self, accid='', appid='', appkey='', temid='',temp_motice='45分钟'):
          self.accid = accid
          self.appid = appid
          self.appkey = appkey
          self.temid = temid
          self.temp_motice = temp_motice
  
      # md5编码
      def __md5(self, raw):
          md5 = hashlib.md5()
          md5.update(raw.encode('utf-8'))
          return md5.hexdigest()
  
      # 获取格式化时间
      def __get_format_time(self):
          return str(datetime.now().strftime('%Y%m%d%H%M%S'))
  
      # base64编码
      def __get_base64_code(self, raw):
          st = raw.encode()
          return base64.b64encode(st).decode('utf-8')
  
      # 请求包头
      def __request_url(self, stamp):
          sig = self.__md5(self.accid + self.appkey + stamp).upper()  # 生成签名
          return self.__base_url.format(self.accid, sig)  # https 请求地址
  
      # 请求包头字段
      def __request_header(self, stamp):
          authorization = self.__get_base64_code(self.accid + ':' + stamp)
          return {
              'Authorization': authorization, 'Accept': 'application/json;',
              'Content-Type': 'application/json;charset=utf-8;'}
  
      # 请求包体
      def __request_body(self, phone, code):
          return {
              "to": ','.join(phone),
              "appId": self.appid,
              "templateId": self.temid,
              "datas": [code, self.temp_motice]
          }
  
      # 返回结构化结果
      def __ajaxReturn(self, code=92000, msg='', data=[]):
          dict = {"code": code, "msg": msg, "data": data}
          return json.dumps(dict)
  	
      # 发送短信
      def send(self, phone=[], code=''):
          stamp = self.__get_format_time()  # 获取当前格式化时间
          url = self.__request_url(stamp)  # 请求包地址
          headers = self.__request_header(stamp)  # 请求包头字段
          data = self.__request_body(phone, code)
          obj = requests.post(url, headers=headers, json=data)
          dict = json.loads(obj.text)
          if dict.get('statusCode') == '000000':
              return self.__ajaxReturn(msg="发送成功", data={})
          else:
              return self.__ajaxReturn(code=92001, msg='发送失败', data={"code": dict.get('statusCode')})       

调用部分写入点击获取短信的视图函数中

# 短信发送
def myhome_sendMsg(request):
	# 调用
	accid = '' # 账号id
	appid = '' # 应用id
	appkey = '' # key
	temid = '1' # 默认模版
	temp_motice = '30分钟' # 参数
	phone = ['电话1','电话2'] # 电话号码 
	code = '' # 短信验证码
	# 实例化
	yun = YunTongXin(accid=accid,appid=appid,appkey=appkey,temid=temid,temp_motice=temp_motice)
	# 发送短信
	yun.send(phone, code)
return HttpResponse('发送成功')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的体育馆管理系统,源码+数据库+毕业论文+视频演示 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本体育馆管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此体育馆管理系统利用当下成熟完善的SpringBoot框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理收货地址管理、购物车管理、场地管理、场地订单管理、字典管理、赛事管理、赛事收藏管理、赛事评价管理、赛事订单管理、商品管理、商品收藏管理、商品评价管理、商品订单管理、用户管理、管理员管理等功能。体育馆管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:体育馆管理系统;SpringBoot框架;Mysql;自动化
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值