1017短信验证

02_requests.py

"""
# @TIME: 2021/10/16 下午10:08
# @FILE: 02_requests.py
# @AUTHOR: HANG1720
# @COMMIT: 发送请求
"""
import requestshtml = requests.get('http://www.jd.com')
print(html)
# 获取响应内容 -- 字符串
print(html.text)

sms.py

"""
# @TIME: 2021/10/16 下午9:24
# @FILE: sms.py
# @AUTHOR: HANG1720
# @COMMIT: 对接容联云短信平台
"""
import base64
import hashlib
import random
import timeimport requestsclass YunTongxun:base_url = 'https://app.cloopen.com:8883'def __init__(self, accountSid, accountToken, appId, templateId):self.accountSid = accountSidself.accountToken = accountTokenself.appId = appIdself.templateId = templateIddef get_request_url(self, sig):"""生成具体通信的业务url:param sig: 签名:return: 业务url"""self.url = self.base_url + '/2013-12-26/Accounts/%s/SMS/TemplateSMS?sig=%s' % (self.accountSid, sig)return self.urldef get_sig(self, timestamp):"""生成签名: MD5加密(账户Id + 账户授权令牌 + 时间戳).upper():param timestamp: 时间戳:return: 签名"""s = self.accountSid + self.accountToken + timestampm = hashlib.md5()m.update(s.encode())return m.hexdigest().upper()def get_timestamp(self):"""时间戳:return: 时间戳"""return time.strftime('%Y%m%d%H%M%S')def get_request_header(self, timestamp):"""生成请求头:Authorization: Base64编码(账户Id + 冒号 + 时间戳):param timestamp: 时间戳:return:"""s = self.accountSid + ":" + timestampauth = base64.b64encode(s.encode()).decode()return {"Accept": "application/json","Content-Type": "application/json;charset=utf-8","Authorization": auth}def get_request_body(self, phone, code):"""构建请求体:param phone: 手机号:param code: 验证码:return: 请求体"""return {"to": phone, "appId": self.appId,"templateId": self.templateId,"datas": [code, "1"]}def send_request(self, url, header, body):"""发送请求:param url: 业务url:param header: 请求头:param body: 请求体:return: 容联云响应内容"""res = requests.post(url=url, headers=header, json=body)return res.textdef run(self, phone, code):"""程序入口:return:"""# 时间戳timestamp = self.get_timestamp()sig = self.get_sig(timestamp)url = self.get_request_url(sig)print(url)header = self.get_request_header(timestamp)print(header)body = self.get_request_body(phone, code)data = self.send_request(url, header, body)return data
if __name__ == '__main__':# 请将下面字典的值 更换为自己在控制台获取到的 accountSid accountTokeappIdconfig = {"accountSid": "8a216da87c304531017c87d6bd0c0d3f","accountToken": "66283b3d8f8349419efa14f296794b78","appId": "8a216da87c304531017c87d6be380d46","templateId": "1"}ytx = YunTongxun(**config)# 请将手机号更换为自己的code = random.randint(1000, 9999)res = ytx.run("15190060586", code)print(code)print(res)

django_容联云_短信验证相关推荐

  1. Luffy之注册认证(容联云通讯短信验证)

    用户的注册认证 前端显示注册页面并调整首页头部和登陆页面的注册按钮的链接. 注册页面Register,主要是通过登录页面进行改成而成. 先构造前端页面 <template><div ...

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

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

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

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

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

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

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

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

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

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

  7. python 容联云测试短信接口

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

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

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

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

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

最新文章

  1. 【转】什么是“对用户友好”
  2. 疯狂ios讲义疯狂连载之游戏的状态数据模型
  3. 我的csdnmark
  4. pytorch安装实录(win10+cuda8+pycharm+anaconda)
  5. miniui页面移动的时候透明_【H5】316 移动端H5跳坑指南
  6. bootstrap的表单验证 vue_第45天:Web表单
  7. [css] 说说position:sticky有什么应用场景
  8. php处理form多文件上传,ajax利用FormData、FileReader实现多文件上传php获取
  9. 让携号转网不再难!但你得了解这几大限制
  10. git理解HEAD,master
  11. 大数据开发笔记(七):Kafka分布式流式处理
  12. 怪事总是发生我身上,铜证如山
  13. 屏蔽CDSN烦人的广告
  14. 史上最全的黑苹果系统「MacOS」安装教程,小白也能秒掌握!
  15. c# splitContainer1隐藏panel1/2
  16. 情感日记:用科学的方法追女孩(转)
  17. java通过反射调用有参数的方法
  18. Ubuntu 20.04制作本地源
  19. 阿里云中间件是什么,有哪些产品
  20. conda创建Python虚拟环境

热门文章

  1. php中pattern以a或A为开头,shell基础六和七:执行顺序(||及,{}及())及正则表达式...
  2. python中print函数的end和sep参数的用法
  3. 51单片机之STC89C52RC最小系统板烧录说明
  4. Unity物体碰撞出现穿插问题/穿过问题/物体穿过场景模型
  5. 大学生如何进行个人理财
  6. IEEE 期刊双栏模板引用文献问题
  7. Java 小白 设计电池类,在电池类的构造方法中声明一节5号电池的电压为1.5伏,使用this关键字调用电池类中的构造方法,实现电压为9伏的叠层电池,
  8. 淘宝/天猫、拼多多、1688产品详情页API、SKU信息获取展示
  9. H3C_交换机_二层/三层链路聚合
  10. 打造百万级访问网站的技术准备