zoukankan      html  css  js  c++  java
  • 腾讯云短信开发

    腾讯云短信开发

    短信服务应用申请

    #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
  • 相关阅读:
    转 | 禁忌搜索算法(Tabu Search)求解带时间窗的车辆路径规划问题详解(附Java代码)
    Branch and price and cut求解传统VRP问题以及VRPTW问题
    标号法(label-setting algorithm)求解带时间窗的最短路问题(ESPPRC)
    运筹学从何学起?如何快速入门精确式算法?
    转 | 模拟退火算法(SA)和迭代局部搜索(ILS)求解TSP的Java代码分享
    用Python画论文折线图、曲线图?几个代码模板轻松搞定!
    45. 截取“测试数据”后面的内容
    44. 更改oracle字符集编码american_america.zh16gbk 改为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    18. 浏览器关闭页面时弹出“确定要离开此面吗?”
    6. concat_ws用法
  • 原文地址:https://www.cnblogs.com/baicai37/p/13363354.html
Copyright © 2011-2022 走看看