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 相关文章推荐
在Heroku云平台上部署Python的Django框架的教程
Apr 20 Python
python获取局域网占带宽最大3个ip的方法
Jul 09 Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 Python
打包python 加icon 去掉cmd黑窗口方法
Jun 24 Python
解决Django加载静态资源失败的问题
Jul 28 Python
对Django中内置的User模型实例详解
Aug 16 Python
Python PIL图片添加字体的例子
Aug 22 Python
Python绘制热力图示例
Sep 27 Python
将pytorch转成longtensor的简单方法
Feb 18 Python
基于python实现把json数据转换成Excel表格
May 07 Python
Python使用tkinter实现摇骰子小游戏功能的代码
Jul 02 Python
Python Celery异步任务队列使用方法解析
Aug 10 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 Undefined index报错的修复方法
2011/07/17 PHP
php cli模式学习(PHP命令行模式)
2013/06/03 PHP
php实现简单爬虫的开发
2016/03/28 PHP
PHP安装GeoIP扩展根据IP获取地理位置及计算距离的方法
2016/07/01 PHP
Django中通过定时任务触发页面静态化的处理方式
2018/08/29 PHP
jquery图片上下tab切换效果
2011/03/18 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
JavaScript实现将文本框的值插入指定位置的方法
2015/08/13 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
jquery.validate.js 多个相同name的处理方式
2017/07/10 jQuery
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
解决在vue项目中,发版之后,背景图片报错,路径不对的问题
2018/03/06 Javascript
vue axios请求拦截实例代码
2018/03/29 Javascript
vue组件开发之用户无限添加自定义填写表单的方法
2018/08/28 Javascript
微信小程序时间戳转日期的详解
2019/04/30 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
纯JS开发baguetteBox.js响应式画廊插件
2020/06/28 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
简单的Python的curses库使用教程
2015/04/11 Python
Django实现快速分页的方法实例
2017/10/22 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
Python KMeans聚类问题分析
2018/02/23 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
纯CSS3实现绘制各种图形实现代码详细整理
2012/12/26 HTML / CSS
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
公安局负责人查摆问题及整改方案
2014/09/27 职场文书
环卫处个人工作总结
2015/03/04 职场文书
《我们的民族小学》教学反思
2016/02/19 职场文书
修改MySQL的默认密码的四种小方法
2021/05/26 MySQL
解决MySQL报“too many connections“错误
2022/04/19 MySQL