web验证码的简单实现

本文通过代码示例介绍了Web验证码的简单实现,依赖库包括Sanic和Pillow。虽然未涉及点击刷新功能,但指出其实现原理主要是异步请求结合刷新接口,并需更新session中的key值。
摘要由CSDN通过智能技术生成

最近有小伙伴提问:能否说下web验证的原理,感觉文字描述不清楚,于是就用代码简单的演示下:
此代码是需要依赖:
sanic19.9.0
Pillow
7.0.0

import random
import string
import uuid
import base64
import platform
from PIL import Image, ImageDraw,ImageFont
from io import BytesIO
from sanic import Sanic
from sanic.response import HTTPResponse,text
from sanic.views import HTTPMethodView

app = Sanic()

session = {
   }

class VerifyCode:
    def __init__(self, numbers:int):
        """
        指定:生成的数量
        """
        self.number = numbers

    def draw_lines(self, draw, num, width, height):
        """划线"""

        x1 = random.randint(0, width / 2)
        y1 = random.randint(0, height / 2)
        x2 = random.randint(0, width)
        y2 = random.randint(height / 2, height)
        draw.line(((x1, y1), (x2, y2)),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值