Python教程

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

本文主要是介绍最全!!!python使用腾讯云服务开发短信验证码项目,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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}

验证码效果实例

这篇关于最全!!!python使用腾讯云服务开发短信验证码项目的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!