06 第三方之短信封装
荣联云通讯短信平台
注册账号
管理模块>>应用管理>>创建应用>>编辑应用>>勾选短信验证码
安装request模块
pip install requests
请求参数
POST : https://app.cloopen.com:8883/2013-12-26/Accounts/{accountSid}/SMS/TemplateSMS?sig={SigParameter}
请求包头
参数 | 类型 | 是否必选 | 参数说明 |
---|---|---|---|
accountSid | String | 必选 | 账号ID |
SigParameter | String | 必选 | 签名 [账号ID+令牌Token+时间('YmdHMS') 的MD5值] |
请求包头字段
参数 | 类型 | 是否必选 | 参数说明 |
---|---|---|---|
Accept | String | 必选 | 客户端响应接收数据格式 |
Content-Type | String | 必选 | 类型 |
Content-Length | String | 必选 | |
Authorization | String | 必选 | 携带参数 |
请求包体
参数 | 类型 | 是否必选 | 参数说明 |
---|---|---|---|
to | String | 必选 | “电话1,电话2,电话3” |
appId | String | 必选 | 应用ID |
templateId | String | 必选 | |
datas | String | 可选 | 内容数据外层节点,模板如果没有变量,此参数可不传 |
data | String | 可选 | 内容数据,用于替换模板中{序号} |
响应 此步响应只表明客户的短信请求发送成功,不表明短信通道已经发送短信成功。(状态码)
参数 | 类型 | 是否必选 | 参数说明 |
---|---|---|---|
statusCode | String | 必选 | 请求状态码,取值000000(成功) |
smsMessageSid | String | 必选 | 短信唯一标识符 |
dateCreated | String | 必选 | 短信的创建时间 |
代码块
shortMsg.py
1 import hashlib, base64, requests, json 2 from datetime import datetime 3 4 class YunTongXin: 5 __base_url = 'https://app.cloopen.com:8883/2013-12-26/Accounts/{}/SMS/TemplateSMS?sig={}' 6 7 # 初始化代码 8 def __init__(self, accid='', appid='', appkey='', temid='', temp_motice='45分钟'): 9 self.accid = accid 10 self.appid = appid 11 self.appkey = appkey 12 self.temid = temid 13 self.temp_motice = temp_motice 14 15 # md5编码 16 def __md5(self, raw): 17 md5 = hashlib.md5() 18 md5.update(raw.encode('utf-8')) 19 return md5.hexdigest() 20 21 # 获取格式化时间 22 def __get_format_time(self): 23 return str(datetime.now().strftime('%Y%m%d%H%M%S')) 24 25 # base64编码 26 def __get_base64_code(self, raw): 27 st = raw.encode() 28 return base64.b64encode(st).decode('utf-8') 29 30 # 请求包头 31 def __request_url(self, stamp): 32 sig = self.__md5(self.accid + self.appkey + stamp).upper() # 生成签名 33 return self.__base_url.format(self.accid, sig) # https 请求地址 34 35 # 请求包头字段 36 def __request_header(self, stamp): 37 authorization = self.__get_base64_code(self.accid + ':' + stamp) 38 return { 39 'Authorization': authorization, 'Accept': 'application/json;', 40 'Content-Type': 'application/json;charset=utf-8;'} 41 42 # 请求包体 43 def __request_body(self, phone, code): 44 return { 45 "to": ','.join(phone), 46 "appId": self.appid, 47 "templateId": self.temid, 48 "datas": [code, self.temp_motice] 49 } 50 51 # 返回结构化结果 52 def __ajaxReturn(self, code=92000, msg='', data=[]): 53 dict = {"code": code, "msg": msg, "data": data} 54 return json.dumps(dict) 55 56 # 发送短信 57 def send(self, phone=[], code=''): 58 stamp = self.__get_format_time() # 获取当前格式化时间 59 url = self.__request_url(stamp) # 请求包地址 60 headers = self.__request_header(stamp) # 请求包头字段 61 data = self.__request_body(phone, code) 62 obj = requests.post(url, headers=headers, json=data) 63 dict = json.loads(obj.text) 64 if dict.get('statusCode') == '000000': 65 return self.__ajaxReturn(msg="发送成功", data={}) 66 else: 67 return self.__ajaxReturn(code=92001, msg='发送失败', data={"code": dict.get('statusCode')})
调用
1 from shortMsg import YunTongXin 2 accid = '' # 账号id 3 appid = '' # 应用id 4 appkey = 'ae007ba417e24833acc709d8e2acdb65' # key 5 temid = '1' # 默认模版 6 temp_motice = '30分钟' # 参数 7 phone = ['电话1','电话2'] # 电话号码 8 code = '' # 短信验证码 9 # 实例化 10 yun = YunTongXin(accid=accid,appid=appid,appkey=appkey,temid=temid,temp_motice=temp_motice) 11 # 发送短信 12 yun.send(phone, code)
转载于:https://www.cnblogs.com/a2534786642/p/11040835.html
06 第三方之短信封装相关推荐
- Android实现第三方Mob短信验证登录以及手机号显示和修改用户名(简易新闻 五)
Android实现第三方Mob短信验证登录以及手机号显示和修改用户名(简易新闻 五) 关于之前的功能实现可以从制作简易新闻App导航篇中查看 因为这篇是写了有一段时间的博客,所以这篇(包括后面的简易新 ...
- 使用第三方平台短信接口实现发送验证码
还是第三方的小平台的demo简单,基本没有任何封装的东西,简单易懂好实现,基本就是填上账号就能用. package com.test;import java.io.BufferedReader; ...
- iOS-使用第三方实现短信验证码功能
目前,很多App是通过短信验证码来实现用户注册和登录功能,目前市面上绝大多数的短信SP提供商都是需要付费才能提供这种服务,价格普遍在0.07元/条左右: 建议:如果公司比较大,开发人员充足,时间充足的 ...
- 易语言对接第三方验证码短信接口demo
本文为您提供了易语言版本的验证码短信接口对接DEMO示例 //接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. //账户注册:请通过该地址开通账户 http://user.ihuy ...
- 如何用ASP语言对接第三方验证码短信接口?
ASP对接验证码短信接口DEMO示例 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% '接口类型:互亿无 ...
- Android之Mob第三方短信验证服务
目录 mob简单介绍 前期准备 2.1注册登录 2.2创建应用 2.3下载sdk 2.4引入sdK 调用有界面接口 3.1效果图 3.2配置AndroidManifest.xml 3.3添加代码 调用 ...
- WEB后台--邮件和短信业务实现(包括Java一键实现、封装和异步)以及原理详解
本来就打算针对一些固定的特别点的业务(QQ与网易邮件.拦截设计.短信.定时器等等)来进行记录以及解析原理,这些会比较零散记录在JavaWeb的分类里面,感兴趣的童鞋可以去看下. 有人问为什么要邮件短信 ...
- SpringBoot继承第三方发送手机短信验证码
前言 本文主要针对与使用Java集成第三方进行短信发送,市场上常见的第三方短信发送有很多,比如阿里云,华为云等等.但是申请的步骤和代码大同小异,下面以榛子云为例详细介绍下如何操作. 注册账号 首先去榛 ...
- Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)
用户注册或者找回密码时一般会用到短信验证功能,这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注册用户.获取SDK 大家可以 ...
- .net 发短信案例
1. 首先找到第三方发短信接口文档. 2.根据接口文档自己写个接口,调用他们发短信url , 可以先写个小demo.. 我这用的是 胜券短信 . /// <summary>/// 短信发送 ...
最新文章
- IDEA 强大的 Live Templates,代码生成利器
- P1726 上白泽慧音
- 2021年结婚登记创36年新低,六大原因值得注意
- tomcat 配置方法
- openstack——horizon篇
- python论坛app_理解python web开发,轻松搭建web app!
- 11张信用卡20多万全部逾期还不上,每天电话追债,怎么办?
- string插入字符_String类
- 1.php查询数据,数据查询 · thinkphp5 · 看云
- XSS跨站点脚本攻击解决方案
- S7-200SMART案例分析——运动控制之步进选型(一)
- 头号英雄 答题助手助力通关赢大奖
- Latex文档中 插入符号和编号
- matlab驻波仿真
- RPG游戏Demo学习笔记一
- html/css 钢琴黑白格布局
- java 运算符的讲解
- html怎么创建一个盒子,怎么新建一个实线边框为红色盒子
- 无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)
- 金士顿存储卡常识补充:
热门文章
- 《C++ Primer 第5版》-13.6对象移动-康奈尔笔记
- centos安装git时出错提示make[1]: *** [perl.mak] Error 2 make: *** [perl/perl.mak] Error 2
- 修改服务器bi,修改 FineBI 配置参数
- 明源云客微信抢房技巧_微信抢房软件开发 - heartdong - OSCHINA - 中文开源技术交流社区...
- 用MATLAB计算常规矩阵函数 eAt sinA
- 80老翁谈人生(38):火星存在两万城市遗迹纯属杜撰!
- 白帽子黑客生存环境变好,顶级人才年入千万
- python 新浪邮箱发送邮件
- sqlserver2000数据库迁移到2008R2
- 美通社企业新闻汇总 | 2019.1.3