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多线程用法实例详解
Jan 15 Python
Python2.x中str与unicode相关问题的解决方法
Mar 30 Python
初学Python函数的笔记整理
Apr 07 Python
21行Python代码实现拼写检查器
Jan 25 Python
python隐藏终端执行cmd命令的方法
Jun 24 Python
Python中的 sort 和 sorted的用法与区别
Aug 10 Python
使用pytorch实现可视化中间层的结果
Dec 30 Python
Python如何在windows环境安装pip及rarfile
Jun 15 Python
如何编写python的daemon程序
Jan 07 Python
手把手教你配置JupyterLab 环境的实现
Feb 02 Python
Python tkinter之Bind(绑定事件)的使用示例
Feb 05 Python
python3美化表格数据输出结果的实现代码
Apr 14 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预定义变量使用帮助(带实例)
2013/10/30 PHP
php中session退出登陆问题
2014/02/27 PHP
tp5实现微信小程序多图片上传到服务器功能
2018/07/16 PHP
JavaScript中“+”的陷阱深刻理解
2012/12/04 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
2013/03/29 Javascript
JS操作JSON要领详细总结
2013/08/25 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
jQuery实现两款有动画功能的导航菜单代码
2015/09/16 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
tablesorter.js表格排序使用方法(支持中文排序)
2017/02/10 Javascript
详解Vue2.X的路由管理记录之 钩子函数(切割流水线)
2017/05/02 Javascript
bootstrap multiselect 多选功能实现方法
2017/06/05 Javascript
Vue自定义指令详解
2017/07/28 Javascript
浅谈webpack编译vue项目生成的代码探索
2017/12/11 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
微信小程序点击图片实现长按预览、保存、识别带参数二维码、转发等功能
2019/07/20 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
[03:12]完美世界DOTA2联赛PWL DAY9集锦
2020/11/10 DOTA
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
python中的print()输出
2019/04/12 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
详解CSS3浏览器兼容
2016/12/14 HTML / CSS
戴森比利时官方网站:Dyson BE
2020/10/03 全球购物
初中生物教学反思
2014/01/10 职场文书
淘宝活动策划方案
2014/02/06 职场文书
运动会800米加油稿
2014/02/22 职场文书
党的群众路线教育实践活动学习计划
2014/11/03 职场文书
幼儿园语言教学反思
2016/02/23 职场文书
openEuler 搭建java开发环境的详细过程
2022/06/10 Servers
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers