Flask-day09

腾讯云(短信验证、短信通知) 【需要备案】

参考
腾讯云
腾讯云短信: https://cloud.tencent.com/product/sms
参考文档: https://cloud.tencent.com/document/product/382/11672

腾讯云 短信 SMS 申请
https://cloud.tencent.com/product/sms

创建应用
准备好相关参数
腾讯云短信每个月赠送100条短信,申请一个应用,获取appid,然后创建短信签名,之后创建正文模版

应用 》 应用配置 》 appid
应用 》 国内短信 》 短信内容配置 》 短信签名
应用 》 国内短信 》 短信内容配置 》 短信正文(模板)

安装
pip install qcloudsms_py

腾讯云短信 Python SDK
https://github.com/qcloudsms/qcloudsms_py

发送短信

定义资源

class SMSResource(Resource):
def get(self):
from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError

  # SDK AppID是短信应用的唯一标识,调用短信API接口时需要提供该参数
  appid = 1400112809
  # App Key是用来校验短信发送请求合法性的密码,与SDK AppID对应,需要业务方高度保密
  appkey = '8d8b808cb9073023631d241951f49fb4'
  # 正文(模板id)
  template_id = 166915
  sms_sign = 'TPP短信验证'

  ssender = SmsSingleSender(appid, appkey)
  sms_type = 0
  # 短信模板: 短信验证码: {1},请于{2}分钟内填写。如非本人操作,请忽略本短信
  randomstr = random.randrange(1000,10000) # 验证码
  # 模板: 验证码  超时时间
  params = [randomstr, 3]  # 模板设置的两个参数
  # 需要发送的手机号码
  phone = 13800138000
  try:
      result = ssender.send_with_param(86, phone,
                                       template_id, params, sign=sms_sign, extend="",
                                       ext="")  # 签名参数未提供或者为空时,会使用默认签名发送短信

      # 验证码(后续验证从缓存中获取验证码)
      cache.set('smsid', randomstr,timeout=180)
      
      return {'msg': '短信发送成功'}
  except HTTPError as e:
      print(e)
  except Exception as e:
      print(e)

添加资源

api.add_resource(SMSResource, '/api/v1/sms/')

测试

127.0.0.1:5000/api/v1/sms/

备注: 本站配置,每月只有100条免费短信,如果超过即本示例发送短信失败!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 腾讯云(短信验证、短信通知) 【需要备案】 参考腾讯云腾讯云短信: https://cloud.tencent....
    EndEvent阅读 1,424评论 0 2
  • 苹果手机思维导图利器之一lighten被用来在碎片时间制作思维导图及记录结构化信息。但如果需要将文本大纲的信息快速...
    neweye阅读 985评论 0 1
  • 现在各大卫视充斥着各种综艺节目,每到周末百花齐放,好不热闹。可是各大卫视的抄袭也甚嚣尘上,一个电视台的节目收视率高...
    路语旁集阅读 418评论 0 0
  • 他走了 虽万水千山 却再也不能重逢 从此 只能在梦里相拥 人们说 这就是岁月 笑语欢声 都是为死去的时间而奏
    甜甜的摄影师阅读 227评论 0 0