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 pass 语句使用示例
Mar 11 Python
python3编写C/S网络程序实例教程
Aug 25 Python
基于python(urlparse)模板的使用方法总结
Oct 13 Python
django之session与分页(实例讲解)
Nov 13 Python
python列表每个元素同增同减和列表元素去空格的实例
Jul 20 Python
Python企业编码生成系统总体系统设计概述
Jul 26 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
python操作cfg配置文件方式
Dec 22 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 Python
Python绘制全球疫情变化地图的实例代码
Apr 20 Python
python实现简单区块链结构
Apr 25 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
Jun 29 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
php关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
PHP工厂模式简单实现方法示例
2018/05/23 PHP
让回调函数 showResponse 也带上参数的代码
2007/08/13 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
基于socket.io和node.js搭建即时通信系统
2014/07/30 Javascript
java必学必会之static关键字
2015/12/03 Javascript
实例讲解避免javascript冲突的方法
2016/01/03 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
2016/11/03 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
深究AngularJS中ng-drag、ng-drop的用法
2017/06/12 Javascript
React Native 使用Fetch发送网络请求的示例代码
2017/12/02 Javascript
Vue.js 十五分钟入门图文教程
2018/09/12 Javascript
JS高阶函数原理与用法实例分析
2019/01/15 Javascript
vue组件开发props验证的实现
2019/02/12 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
Antd的table组件表格的序号自增操作
2020/10/27 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
Python 的 Socket 编程
2015/03/24 Python
在Python中marshal对象序列化的相关知识
2015/07/01 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
基于CentOS搭建Python Django环境过程解析
2020/08/24 Python
Shell编程面试题
2016/05/29 面试题
端午节粽子促销活动方案
2014/02/02 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
如何写自我鉴定
2014/03/19 职场文书
篮球比赛策划方案
2014/06/05 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python