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 不关闭控制台的实现方法
Oct 23 Python
python服务器与android客户端socket通信实例
Nov 12 Python
简述Python中的面向对象编程的概念
Apr 27 Python
详解python的数字类型变量与其方法
Nov 20 Python
解决安装pycharm后不能执行python脚本的问题
Jan 19 Python
python requests更换代理适用于IP频率限制的方法
Aug 21 Python
python中web框架的自定义创建
Sep 08 Python
关于numpy中eye和identity的区别详解
Nov 29 Python
python3.8下载及安装步骤详解
Jan 15 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
django前端页面下拉选择框默认值设置方式
Aug 09 Python
ROS系统将python包编译为可执行文件的简单步骤
Jul 25 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下图片文字混合水印与缩略图实现代码
2009/12/11 PHP
PHP获取表单textarea数据中的换行问题
2010/09/10 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
php获取发送给用户的header信息的方法
2015/03/16 PHP
解决yii2左侧菜单子级无法高亮问题的方法
2016/05/08 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
javascript delete 使用示例代码
2010/03/29 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
读jQuery之一(对象的组成)
2011/06/11 Javascript
iframe窗口高度自适应的实现方法
2014/01/08 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
JS提交form表单实例分析
2015/12/10 Javascript
JS Attribute属性操作详解
2016/05/19 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
2016/10/10 Javascript
Ajax的概述与实现过程
2016/11/18 Javascript
对于input 框限定输入值为浮点型的js代码
2017/09/25 Javascript
基于复选框demo(分享)
2017/09/27 Javascript
微信小程序实现全国机场索引列表
2018/01/31 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
深入学习JavaScript 高阶函数
2019/06/11 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
python实现class对象转换成json/字典的方法
2016/03/11 Python
对pandas将dataframe中某列按照条件赋值的实例讲解
2018/11/29 Python
Python时间差中seconds和total_seconds的区别详解
2019/12/26 Python
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
质检员岗位职责
2013/12/17 职场文书
公司开业庆典主持词
2014/03/21 职场文书
个人贷款担保书
2014/04/01 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
初中思品教学反思
2016/02/20 职场文书
七年级生物教学反思
2016/02/20 职场文书
基于Python绘制子图及子图刻度的变换等的问题
2021/05/23 Python
python在package下继续嵌套一个package
2022/04/14 Python