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数据类型转换函数总结
Mar 11 Python
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
Scrapy-redis爬虫分布式爬取的分析和实现
Feb 07 Python
Python实现获取前100组勾股数的方法示例
May 04 Python
python输出100以内的质数与合数实例代码
Jul 08 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
Aug 06 Python
django ManyToManyField多对多关系的实例详解
Aug 09 Python
为什么说Python可以实现所有的算法
Oct 04 Python
浅谈tensorflow模型保存为pb的各种姿势
May 25 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 Python
简单谈谈Python面向对象的相关知识
Jun 28 Python
Python 中的 copy()和deepcopy()
Nov 07 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/02/05 PHP
PHP实现的比较完善的购物车类
2014/12/02 PHP
javascript new 需不需要继续使用
2009/07/02 Javascript
javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element
2010/01/05 Javascript
5个javascript的数字格式化函数分享
2011/12/07 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
Vue.js 2.0 和 React、Augular等其他前端框架大比拼
2016/10/08 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
浅谈es6语法 (Proxy和Reflect的对比)
2017/10/24 Javascript
详解如何给React-Router添加路由页面切换时的过渡动画
2019/04/25 Javascript
python字符串连接方式汇总
2014/08/21 Python
python实现堆栈与队列的方法
2015/01/15 Python
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
Python中shape计算矩阵的方法示例
2017/04/21 Python
Python中实现输入一个整数的案例
2020/05/03 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
汽车专业毕业生自荐信
2013/11/03 职场文书
茶叶店创业计划书范文
2014/01/19 职场文书
接受捐赠答谢词
2014/01/27 职场文书
母校寄语大全
2014/04/10 职场文书
《海伦?凯勒》教学反思
2014/04/17 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
模具设计与制造专业求职信
2014/07/19 职场文书
贯彻落实“八项规定”思想汇报
2014/09/13 职场文书
夫妻分居协议书范文
2014/11/26 职场文书
趵突泉导游词
2015/02/03 职场文书
离职信范文
2015/06/23 职场文书
2016新年年会主持词
2015/07/06 职场文书
Nginx+Tomcat负载均衡集群的实现示例
2021/10/24 Servers
Java8中Stream的一些神操作
2021/11/02 Java/Android