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 相关文章推荐
Django框架中的对象列表视图使用示例
Jul 21 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
Mar 30 Python
python机器学习之随机森林(七)
Mar 26 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
Python实现打印实心和空心菱形
Nov 23 Python
Python 求数组局部最大值的实例
Nov 26 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
Django之form组件自动校验数据实现
Jan 14 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
Sep 03 Python
Python 测试框架unittest和pytest的优劣
Sep 26 Python
浅析python 字典嵌套
Sep 29 Python
python tkinter实现定时关机
Apr 21 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分多步骤填写发布信息的简单方法实例代码
2012/09/23 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
老生常谈php 正则中的i,m,s,x,e分别表示什么
2017/03/02 PHP
thinkPHP框架实现多表查询的方法
2018/06/14 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
利用JS重写Cognos右键菜单的实现代码
2010/04/11 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
javascript获取wx.config内部字段解决微信分享
2016/03/09 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
vue-cli如何添加less 以及sass
2017/07/06 Javascript
基于webpack 实用配置方法总结
2017/09/28 Javascript
JavaScript 判断对象中是否有某属性的常用方法
2018/06/14 Javascript
Vue监听数据渲染DOM完以后执行某个函数详解
2018/09/11 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
vue点击页面空白处实现保存功能
2019/11/06 Javascript
浅析Python多线程下的变量问题
2015/04/28 Python
在Django的上下文中设置变量的方法
2015/07/20 Python
简单解决Python文件中文编码问题
2015/11/22 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
Python flask框架端口失效解决方案
2020/06/04 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
2020/06/05 Python
Ann Taylor官方网站:美国最大的女性产品制造商之一
2016/09/14 全球购物
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
2016/11/26 面试题
高校毕业生登记表自我鉴定
2013/11/03 职场文书
饲料采购员岗位职责
2013/12/19 职场文书
先进工作者获奖感言
2014/02/08 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
分居协议书范本(律师见证版)
2014/11/26 职场文书
2015年底工作总结范文
2015/05/15 职场文书
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS