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 相关文章推荐
Cpy和Python的效率对比
Mar 20 Python
Python实现对PPT文件进行截图操作的方法
Apr 28 Python
在Django中创建动态视图的教程
Jul 15 Python
python、java等哪一门编程语言适合人工智能?
Nov 13 Python
详解Python异常处理中的Finally else的功能
Dec 29 Python
对Python中for复合语句的使用示例讲解
Nov 01 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
Python装饰器原理与基本用法分析
Jan 07 Python
Python2与Python3的区别详解
Feb 09 Python
python实现随机加减法生成器
Feb 24 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 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新手上路(十三)
2006/10/09 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
JS 有趣的eval优化输入验证实例代码
2013/09/22 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
Jquery下EasyUI组件中的DataGrid结果集清空方法
2014/01/06 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
JavaScript中用字面量创建对象介绍
2014/12/31 Javascript
nodejs实现获取某宝商品分类
2015/05/28 NodeJs
javascript中new关键字详解
2015/12/14 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
vue.js实现的全选与全不选功能示例【基于elementui】
2018/12/03 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
微信小程序的mpvue框架快速上手指南
2019/05/15 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
Django rest framework基本介绍与代码示例
2018/01/26 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
PyCharm刷新项目(文件)目录的实现
2020/02/14 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
python一些性能分析的技巧
2020/08/30 Python
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
工商学院毕业生自荐信
2013/11/12 职场文书
师范学院毕业生求职信范文
2013/12/26 职场文书
交通事故协议书
2014/04/15 职场文书
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python