python3.7实现云之讯、聚合短信平台的短信发送功能


Posted in Python onSeptember 26, 2019

1、云之讯平台数据返回Json格式:

{'reason': '操作成功', 'result': {'sid': '17209241456456455454', 'fee': 1,
'count': 1}, 'error_code': 0}

2、聚合平台数据返回Json格式:

{"code":"000000","count":"1","create_date":"2019-09-24
16:16:30","mobile":"187024545447","msg":"OK","smsid":"0f1245454545454
144545444","uid":""}
 
import time
from time import sleep
import sys
from datetime import datetime
import urllib.request
import json
from urllib import parse
import uuid
import http.client
#云之讯-短信请求url
sms_yzx_url =  "https://open.ucpaas.com/ol/sms/sendsms"
#云之讯-账号相关信息-应用ID
sms_yzx_appid = "93649dcfexxxxxxxxxxxxxxxxxx"
#云之讯-账号相关信息-用户sid
sms_yzx_account_Sid = "eb6fxxxxxxxxxxxxxxxx"
#云之讯-账号相关信息-密钥
sms_yzx_auth_token = "027xxxxxxxxxxxxxxxx"
#云之讯-账号相关信息-短信模板
sms_yzx_templateid = "475631"
#聚合数据-短信平台-请求地址
sms_juhe_url = "http://v.juhe.cn/sms/send"
#聚合数据-短信平台-短信模板
sms_juhe_templateid = "17488"
#聚合数据-短信平台-密钥
sms_juhe_auth_token = "40xxxxxxxxxxxxxxxx"
#短信服务平台(0:云之讯短信  1: 聚合短信)
sms_service_choice = 0
date = datetime.now()
print(date.strftime("%Y-%m-%d %H:%M:%S"))
def juhe_sendsms(appkey, mobile, tpl_id, tpl_value):
  sendurl = sms_juhe_url # 短信发送的URL,无需修改
  params = 'key=%s&mobile=%s&tpl_id=%s&tpl_value=%s'%(appkey, mobile, tpl_id, parse.quote(tpl_value)) # 组合参数
  wp = urllib.request.urlopen(sendurl + "?" + params)
  content = wp.read() # 获取接口返回内容
  result = json.loads(content)
  # print(result)
  if result:
    error_code = result['error_code']
    if error_code == 0:
      # 发送成功
      smsid = result['result']['sid']
      print("sendsms success,smsid: %s" % (smsid) )
    else:
      # 发送失败
      print( "sendsms error :(%s), %s" % (error_code, result['reason']) )
  else:
    # 请求失败
    print( "request sendsms error" )
def yzx_sendsms(to, params, temp_id):
  # @param to 手机号码
  # @param params 内容数据 格式为数组 例如:{'12','34'},如不需替换请填 ''
  # @param temp_id 模板Id
  data = {
    "sid": sms_yzx_account_Sid,
    "token": sms_yzx_auth_token,
    "appid": sms_yzx_appid,
    "templateid": temp_id,
    "param": params,
    "mobile": to,
  }
  # 将字典转换为JSON字符串
  json_data = json.dumps(data)
  #print(json_data)
  #发送请求头
  headers = {
    'Accept': 'application/json',
    'Content-Type': 'application/json;charset=utf-8',
  }
  connect = http.client.HTTPConnection('open.ucpaas.com')
  # 发送请求
  connect.request(method='POST', url=sms_yzx_url, body=json_data, headers=headers)
  # 获取响应
  resp = connect.getresponse()
  # print(resp)
  # 响应内容
  result = resp.read().decode('utf-8')
  # print(result)
  result = json.loads(result)
  # 发送成功
  # print(result)
  # 如果发送短信成功,返回的字典数据中code字段的值为"000000"
  if result["code"] == "000000":
    # 返回0 表示发送短信成功
    smsid = result['smsid']
    print("sendsms success,smsid: %s, %s"% (smsid, result['msg']))
    return 0
  else:
    # 返回-1 表示发送失败
    print("sendsms error :(%s), %s"% (result['code'], result['msg']))
    return -1
def main():
  mobile = '182xxxx' # 短信接受者的手机号码
  tpl_value = '#code#=4567'
  juhe_sendsms(sms_juhe_auth_token, mobile, sms_juhe_templateid, tpl_value) # 请求发送短信
  yzx_sendsms(mobile, ['1234'], sms_yzx_templateid)
if __name__ == '__main__':
  main()

总结

以上所述是小编给大家介绍的python3.7实现云之讯、聚合短信平台的短信发送功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python统计日志中每个IP出现次数的方法
Jul 06 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
Jul 07 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
Python之csv文件从MySQL数据库导入导出的方法
Jun 21 Python
Python 支付整合开发包的实现
Jan 23 Python
linux下python中文乱码解决方案详解
Aug 28 Python
使用matlab 判断两个矩阵是否相等的实例
May 11 Python
matlab、python中矩阵的互相导入导出方式
Jun 01 Python
浅析python函数式编程
Sep 26 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 Python
基于python实现监听Rabbitmq系统日志代码示例
Nov 28 Python
python如何发送带有附件、正文为HTML的邮件
Feb 27 Python
python 模拟创建seafile 目录操作示例
Sep 26 #Python
python RC4加密操作示例【测试可用】
Sep 26 #Python
python使用 __init__初始化操作简单示例
Sep 26 #Python
如何安装2019Pycharm最新版本(详细教程)
Sep 26 #Python
Python命令行参数解析工具 docopt 安装和应用过程详解
Sep 26 #Python
django框架创建应用操作示例
Sep 26 #Python
Python从入门到精通之环境搭建教程图解
Sep 26 #Python
You might like
JavaScript之编码规范 推荐
2012/05/23 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
原生javascript实现图片滚动、延时加载功能
2015/01/12 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
Vue2.0 vue-source jsonp 跨域请求
2017/08/04 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
浅谈针对Vue相同路由不同参数的刷新问题
2018/09/29 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
2018/11/20 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
JavaScript Math对象和调试程序的方法分析
2019/05/13 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
JavaScript语句错误throw、try及catch实例解析
2020/08/18 Javascript
Python 时间操作例子和时间格式化参数小结
2014/04/24 Python
Python的Django框架中forms表单类的使用方法详解
2016/06/21 Python
python字典DICT类型合并详解
2017/08/17 Python
python smtplib模块自动收发邮件功能(一)
2018/05/22 Python
opencv python 2D直方图的示例代码
2018/07/20 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
英国豪华针织品牌John Smedley的在线销售商:The Outlet by John Smedley
2018/04/08 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
竞选班干部演讲稿300字
2014/08/20 职场文书
超市开业庆典活动策划方案
2014/09/15 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
简单了解 MySQL 中相关的锁
2021/05/25 MySQL
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python
vue中控制mock在开发环境使用,在生产环境禁用方式
2022/04/06 Vue.js
详解MySQL的内连接和外连接
2023/05/08 MySQL