最全!!!python使用腾讯云服务开发短信验证码项目

本文记录了如何使用Python的qcloudsms_py库结合腾讯云服务来开发短信验证码功能。从注册腾讯云账号、创建应用、设置签名和模板,到编写后端发送验证码的代码,详细阐述了整个过程,并提供了代码示例。
摘要由CSDN通过智能技术生成

python使用腾讯云服务开发短线验证码项目

说明:最近公司要开发一个小程序,然后用户登录这个模块用到了短信验证码这个功能,然后写篇文章做一下记录。

腾讯云的每个新用户会有100条免费短信使用,用来自己学习测试使用还是够的,这个还是蛮不错的。但是这个免费的短信有时间限制,在三个月左右。过了这个时间就用不了。

腾讯云的每个新用户会有100条免费短信可以使用,在认证之后,还会赠送100条,同样会有时间限制

免费短信套餐包

环境

开发语言:python3
开发模块:qcloudsms_py
云服务:腾讯云

腾讯云应用

要使用腾讯云的验证码功能,我们需要先注册腾讯云服务的账号,腾讯云网址:点我跳转腾讯云,然后我们需要注册账号,申请云应用,申请配置短信的签名,短信模板。之后就可以使用了。

1. 注册/登录腾讯云账号

注册/登录腾讯云

2. 注册成功之后或点击登陆,跳转微信登录页面,然后使用微信扫码登录,点击确定登录腾讯云,跳转到腾讯云主页。
3. 在腾讯云主页,点击产品——>企业应用与云通信——>选择云通信里的短信服务,会跳转至短信服务页面。点我直接跳转短信云服务页面进入短信云服务页面
4. 点击免费领取短信,跳转至短信服务

短信服务

5. 我们打开短信服页面——>选择应用管理——>查看应用列表,里面的是自己的服务应用。

应用列表

6. 新用户里面只有一个系统默认应用,我们点击创建应用,新建我们测试/使用的应用。输入应用名称,应用简介。

新建应用

7. 新建完应用,我们可以进入应用查看应用信息,SKD AppID和App Key是我们开发时需要的参数,appid是短信应用的唯一标识,appkey是用来校验短信发送合法性的密码,appkey需要保密
8. 点击国内短信——>选择签名管理——>创建签名。我的是个人认证用户,由于我自己有公众号,所以在签名类型里选择的是公众号,签名内容就是自己的公众号名称。大家按自己需要填写就好了。不懂得可以看审核标准。创建完之后等待审核就可以了。

创建签名

9. 点击国内短信——>正文模板管理——>创建正文模板。模板名称就是验证码短信的信息提示,来自哪里。比如电信的验证码模板名称就是中国电信,然后选择自己使用的模板,也可以使用自定义模板,不过使用腾讯的标准模板成功率更高。申请说明一般就是用来验证用户的,提升用户手机号的真实性什么的。创建模板,等待审核。

创建模板

10. 签名和模板创建好之后,就可以等待审核了,云上面说的是审核时间为2小时,一般情况下也就20分钟就审核完成了。遇到审核不成功也是正常情况,不成功的话看一下自己申请是否有什么问题,会有审核失败提示的,如果没问题的话,就多申请几次。楼主就申请了5、6、7、8次。O(∩_∩)O

后端代码

import ssl
import random
ssl._create_default_https_context = ssl._create_unverified_context
from qcloudsms_py import SmsSingleSender
from qcloudsms_py.httpclient import HTTPError

# 获取云短信应用的appid和appkey
SDKAppID = '应用的appid'
AppKey = '应用的appkey'
#签名
sms_sign = '创建的签名'
# 模板ID
template_id = '创建的模板ID'
# 输入的手机号
phone_number = '输入的手机号'

# 获取随机6位数
def captcha():
    captcha = ''
    for i in range(6):
        now_number = str(random.randint(0, 9))
        captcha += now_number
    return captcha

# 发送手机号验证码
def send_pcode(captcha):
    print('获取验证码',captcha)

    ssender = SmsSingleSender(SDKAppID, AppKey)
    # 模板中的参数,也就是{1}{2}这两个参数
    params = [captcha, "5"]  # 当模板没有参数时,`params = []`
    try:
        result = ssender.send_with_param(86, phone_number,
                                         template_id, params, sign=sms_sign, extend="", ext="")  # 签名参数不允许为空串
        print(result)
    except HTTPError as e:
        print(e)
    except Exception as e:
        print(e)

if __name__ == '__main__':
    send_pcode(captcha())

验证码效果实例

其中[兜兜有糖]是签名内容,6位验证码是模板参数里的{1},5分钟是模板参数里的{2}

验证码效果实例

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值