荣联云通讯短信平台

  注册账号

  管理模块>>应用管理>>创建应用>>编辑应用>>勾选短信验证码

  安装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 第三方之短信封装相关推荐

  1. Android实现第三方Mob短信验证登录以及手机号显示和修改用户名(简易新闻 五)

    Android实现第三方Mob短信验证登录以及手机号显示和修改用户名(简易新闻 五) 关于之前的功能实现可以从制作简易新闻App导航篇中查看 因为这篇是写了有一段时间的博客,所以这篇(包括后面的简易新 ...

  2. 使用第三方平台短信接口实现发送验证码

      还是第三方的小平台的demo简单,基本没有任何封装的东西,简单易懂好实现,基本就是填上账号就能用. package com.test;import java.io.BufferedReader; ...

  3. iOS-使用第三方实现短信验证码功能

    目前,很多App是通过短信验证码来实现用户注册和登录功能,目前市面上绝大多数的短信SP提供商都是需要付费才能提供这种服务,价格普遍在0.07元/条左右: 建议:如果公司比较大,开发人员充足,时间充足的 ...

  4. 易语言对接第三方验证码短信接口demo

    本文为您提供了易语言版本的验证码短信接口对接DEMO示例 //接口类型:互亿无线触发短信接口,支持发送验证码短信.订单通知短信等. //账户注册:请通过该地址开通账户 http://user.ihuy ...

  5. 如何用ASP语言对接第三方验证码短信接口?

    ASP对接验证码短信接口DEMO示例 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% '接口类型:互亿无 ...

  6. Android之Mob第三方短信验证服务

    目录 mob简单介绍 前期准备 2.1注册登录 2.2创建应用 2.3下载sdk 2.4引入sdK 调用有界面接口 3.1效果图 3.2配置AndroidManifest.xml 3.3添加代码 调用 ...

  7. WEB后台--邮件和短信业务实现(包括Java一键实现、封装和异步)以及原理详解

    本来就打算针对一些固定的特别点的业务(QQ与网易邮件.拦截设计.短信.定时器等等)来进行记录以及解析原理,这些会比较零散记录在JavaWeb的分类里面,感兴趣的童鞋可以去看下. 有人问为什么要邮件短信 ...

  8. SpringBoot继承第三方发送手机短信验证码

    前言 本文主要针对与使用Java集成第三方进行短信发送,市场上常见的第三方短信发送有很多,比如阿里云,华为云等等.但是申请的步骤和代码大同小异,下面以榛子云为例详细介绍下如何操作. 注册账号 首先去榛 ...

  9. Android实战简易教程-第三十九枪(第三方短信验证平台Mob和验证码自动填入功能结合实例)

    用户注册或者找回密码时一般会用到短信验证功能,这里我们使用第三方的短信平台进行验证实例. 我们用到第三方短信验证平台是Mob,地址为:http://mob.com/ 一.注册用户.获取SDK 大家可以 ...

  10. .net 发短信案例

    1. 首先找到第三方发短信接口文档. 2.根据接口文档自己写个接口,调用他们发短信url , 可以先写个小demo.. 我这用的是 胜券短信 . /// <summary>/// 短信发送 ...

最新文章

  1. IDEA 强大的 Live Templates,代码生成利器
  2. P1726 上白泽慧音
  3. 2021年结婚登记创36年新低,六大原因值得注意
  4. tomcat 配置方法
  5. openstack——horizon篇
  6. python论坛app_理解python web开发,轻松搭建web app!
  7. 11张信用卡20多万全部逾期还不上,每天电话追债,怎么办?
  8. string插入字符_String类
  9. 1.php查询数据,数据查询 · thinkphp5 · 看云
  10. XSS跨站点脚本攻击解决方案
  11. S7-200SMART案例分析——运动控制之步进选型(一)
  12. 头号英雄 答题助手助力通关赢大奖
  13. Latex文档中 插入符号和编号
  14. matlab驻波仿真
  15. RPG游戏Demo学习笔记一
  16. html/css 钢琴黑白格布局
  17. java 运算符的讲解
  18. html怎么创建一个盒子,怎么新建一个实线边框为红色盒子
  19. 无懈可击的Web设计:使用HTML 5和CSS 3提高网站的灵活性与适应性(第3版)
  20. 金士顿存储卡常识补充:

热门文章

  1. 《C++ Primer 第5版》-13.6对象移动-康奈尔笔记
  2. centos安装git时出错提示make[1]: *** [perl.mak] Error 2 make: *** [perl/perl.mak] Error 2
  3. 修改服务器bi,修改 FineBI 配置参数
  4. 明源云客微信抢房技巧_微信抢房软件开发 - heartdong - OSCHINA - 中文开源技术交流社区...
  5. 用MATLAB计算常规矩阵函数 eAt sinA
  6. 80老翁谈人生(38):火星存在两万城市遗迹纯属杜撰!
  7. 白帽子黑客生存环境变好,顶级人才年入千万
  8. python 新浪邮箱发送邮件
  9. sqlserver2000数据库迁移到2008R2
  10. 美通社企业新闻汇总 | 2019.1.3