python验证码校验程序代码_在Python web中实现验证码图片代码分享

本文介绍了在Python中使用Pillow库生成图片验证码的方法,包括设置字体、颜色、干扰线和干扰点。此外,还展示了如何在Flask框架中直接在内存中处理验证码图片并将其发送到前端,以及如何在后端验证用户输入的验证码。
摘要由CSDN通过智能技术生成

系统版本: CentOS 7.4

Python版本: Python 3.6.1

在现在的WEB中,为了防止爬虫类程序提交表单,图片验证码是最常见也是最简单的应对方法之一。

1.验证码图片的生成

在python中,图片验证码一般用PIL或者Pillow库实现,下面就是利用Pillow生成图片验证码的代码:

#!/usr/bin/env python3

#- * -coding: utf - 8 - * -#@Author: Yang#@ Time: 2017 / 11 / 06 1: 04

import random

from PIL

import Image,ImageDraw,ImageFont,ImageFilter

_letter_cases = "abcdefghjkmnpqrstuvwxy"#

小写字母, 去除可能干扰的i, l, o, z

_upper_cases = _letter_cases.upper()# 大写字母

_numbers = ''.join(map(str,range(10)))# 数字

init_chars = ''.join((_letter_cases,_upper_cases,_numbers))

def create_validate_code(size = (120,30),chars = init_chars,img_type = "GIF",mode = "RGB",bg_color = (230,230,230),fg_color = (18,18,18),font_size = 20,font_type = ‘/usr/share / fonts / dejavu / DejaVuSans - Bold.ttf',length = 4,draw_lines = True,n_line = (1,2),draw_points = True,point_chance = 1):

''

'@

todo: 生成验证码图片@ param size: 图片的大小, 格式( 宽, 高), 默认为(120,30)@ param chars:

允许的字符集合, 格式字符串@ param img_type: 图片保存的格式, 默认为GIF, 可选的为GIF, JPEG, TIFF,

PNG@ param mode: 图片模式, 默认为RGB@ param bg_color: 背景颜色, 默认为白色@ param fg_color: 前景色,

验证码字符颜色, 默认为蓝色 #0000FF

@param font_size: 验证码字体大小

@param font_type: 验证码字体的详细路径,默认为 ae_AlArabiya.ttf

@param length: 验证码字符个数

@param draw_lines: 是否划干扰线

@param n_lines: 干扰线的条数范围,格式元组,默认为(1,2),只有draw_lines为True时有效

@param draw_points: 是否画干扰点

@param point_chance: 干扰点出现的概率,大小范围[0,100]

@return: [0]: PIL Image实例

@return: [1]: 验证码图片中的字符串

'''

width,height = size# 宽, 高<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值