【Flask项目2】发送短信验证码和测试验证码是否发送成功(9)

该博客介绍了如何在Python中实现发送短信验证码的功能,通过GET请求获取手机号并生成随机验证码。验证码通过send_message函数发送,并利用Redis缓存数据库进行存储,设置时效性。在发送成功后,验证码会存储到Redis的'registerCode'键下,为后续的注册验证做准备。
摘要由CSDN通过智能技术生成

发送短信验证码配置
在这里插入图片描述

financial—resource—user—user_resource.py
定义资源类

class SMSCode(Resource):
    '''
    发送手机短信,验证手机号码
    '''

    def get(self):  ##如果是get请求,请求的参数往往是:参数名+参数
        phone = request.args.get('phone').strip()
        # 生成一个随机的验证码
        code = random.randint(1000, 9999)
        result = send_message('1', mobile=phone, datas=(code, '1'))
        # 将res转化为字典格式的数据
        re_dict = json.loads(result)
        if re_dict:
            current_app.logger.info(f'给手机号:{phone},发送短信成功')
            # todo 验证码需要存起来,存在redis缓冲数据库中,还需要把验证码再注册的请求中去验证
            # todo redis中存放的是字节类型的数据,有时效性
            # todo setex有3个参数,参数1:键,参数2:时效,参数3:具体的值
            fr.setex('registerCode:{}'.format(phone), SMS_CODE_EXPIRES, code)
            return {'msg': 'success', 'smsCode': code}

        else:
            return {'message': '此手机号{}发送短信失败'.format(phone), 'code': 201}

加载资源类

from financial.resource.user.user_resource import *

user_api.add_resource(SMSCode,'/smscode',endpoint='smscode')

测试
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敲代码敲到头发茂密

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值