• 腾讯云短信开发


    腾讯云短信开发

    短信服务应用申请

    #0 注册一个公众号()
        -https://mp.weixin.qq.com/
        -注册订阅号,一路下一步,申请个人
        -截一个图(首页)
    #1 腾讯云,---注册---实名:-https://console.cloud.tencent.com/smsv2
    #2 创建签名 https://console.cloud.tencent.com/smsv2/csms-sign/create
        -把公众号的首页截图传上去,认证
    #3 创建模板(审核)
    #4 应用管理(创建一个应用,记住appid和App Key)
    #5 扣代码(https://cloud.tencent.com/document/product/382/11672)
    
    
    
    # 7 帮助文档
        -API:一堆web接口,基于API接口来写
        -SDK:软件开发工具包软件,别人基于api接口,用不同语言封装的工具包,我们可以直接调用方法完成某些事

    python中开发腾讯云短信服务

    """
    1)API文档,接口的使用说吧
    2)SDK,基于开发语言封装的可以直接调用的功能(工具)集合
        官网sdk使用文档中找到安装命令:pip install qcloudsms_py
        按照sdk使用说明进行开发:https://cloud.tencent.com/document/product/382/11672
    """

    t_sms.py

    # 所有配置换成申请的数据
    
    # 申请的短信应用 SDK AppID
    appid = 1400
    # 申请的短信应用 SDK AppKey
    appkey = "ba81"
    # 申请的短信模板ID,需要在短信控制台中申请
    template_id = 5447
    # 申请的签名,参数使用的是`签名内容`,而不是`签名ID`
    sms_sign = "Owen的技术栈"
    
    
    from qcloudsms_py import SmsSingleSender
    sender = SmsSingleSender(appid, appkey)
    
    import random
    def get_code():
        code = ''
        for i in range(4):
            code += str(random.randint(0, 9))
        return code
    
    mobile = 13344556677
    # 模板所需参数,和申请的模板中占位符要保持一致
    code = get_code()
    print(code)
    params = [code, 5]
    try:
        result = sender.send_with_param(86, mobile, template_id, params, sign=sms_sign, extend="", ext="")
        if result and result.get('result') == 0:
            print('发送成功')
    except Exception as e:
        print('短信发送失败:%s' % e)

    短信服务二次封装

    在libs下创建 tx_sms 包

    init.py

    from .sms import get_code, send_code

    settings.py

    # 申请的短信应用 SDK AppID
    APP_ID = 1400
    
    # 申请的短信应用 SDK AppKey
    APP_KEY = "ba81"
    
    # 申请的短信模板ID,需要在短信控制台中申请
    TEMPLATE_ID = 5447
    
    # 申请的签名,参数使用的是`签名内容`,而不是`签名ID`
    SIGN = "Owen的技术栈"

    sms.py

    import random
    def get_code():
        code = ''
        for i in range(4):
            code += str(random.randint(0, 9))
        return code
    
    
    from qcloudsms_py import SmsSingleSender
    from . import settings
    from utils.logging import logger
    sender = SmsSingleSender(settings.APP_ID, settings.APP_KEY)
    def send_code(mobile, code, exp):
        try:
            result = sender.send_with_param(
                86,
                mobile,
                settings.TEMPLATE_ID,
                (code, exp),
                sign=settings.SIGN,
                extend="", ext=""
            )
            if result and result.get('result') == 0:
                return True
            logger.error('短信发送失败:%s' % result.get('errmsg'))
        except Exception as e:
            logger.critical('短信发送异常:%s' % e)
        return False
  • 相关阅读:
    二维码的生成细节和原理【转】
    ASP.NET中的Session怎么正确使用
    Application,Session,Cookie,ViewState和Cache区别
    为什么 Rust 连续三年成为最受欢迎的语言
    《预见2050》:科技也很燃
    财讯传媒集团首席战略官段永朝:AI等技术将带来认知重启
    福特第三代自动驾驶在美开启公开道路测试
    2019百度AI开发者大会,百度华为将宣布大消息
    全球负载最大吨位搬运机器人在中国诞生
    selenium webdriver python 开始
  • 原文地址:https://www.cnblogs.com/baicai37/p/13363354.html
Copyright © 2020-2023  润新知