位置: 编程技术 - 正文

在Python web中实现验证码图片代码分享(python在web上的应用)

编辑:rootadmin

推荐整理分享在Python web中实现验证码图片代码分享(python在web上的应用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python web django,python web django,python可以做web,python可以做web,python用于web开发,python web ui,python在web上的应用,用python写web,内容如对您有帮助,希望把文章链接给更多的朋友!

系统版本: CentOS 7.4Python版本: Python 3.6.1

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

1.验证码图片的生成

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

&#;&#;最后的结果会返回一个元组,第一个返回值为一个Image类的实例,第二个返回值为验证码图片中的字符串,可以用于比对验证码是否正确。

生成的验证码图片效果:

&#;但是需要注意一点,以上代码需要依赖于系统字体,如果 font_type设置不正确,就会抛出 OSError 异常。

在Python web中实现验证码图片代码分享(python在web上的应用)

对于CenOS系统,字体文件一般在 /usr/share/fonts/dejavu/ 下, 如CentOS 7.4:

从中随意选取一个即可。windows 下同理,只需将 font_type 设置成正确的字体路径即可, 如

font_type=r"C:WindowsFontsArial.ttf"

2.如何在网页中显示验证码

&#;&#;在上述代码中,验证码都是以文件的方式保存。如果要在web中使用验证码,不可能每次都先生成验证码图片,先保存到磁盘,再返回给前端 web。这样会增加磁盘的开销,另外频繁产生的验证码也会占用大量的磁盘空间。这时,可以使用 BytesIO 模块,使验证码图片的读写直接在内存中进行,并直接返回给前端。同时将正确验证码字符串存在session中,当用户提交表单时,就可以和session中的正确字符串作比较了。

&#;&#;以Flask为例,以下为在Flask中使用验证码的完整 Demo:

最终效果:

总结

标签: python在web上的应用

本文链接地址:https://www.jiuchutong.com/biancheng/372199.html 转载请保留说明!

上一篇:Python模糊查询本地文件夹去除文件后缀的实例(7行代码)(python模糊搜索字符串)

下一篇:python中Switch/Case实现的示例代码(pythonmatch函数)

  • 小企业会计准则适用于哪些企业
  • 车辆购置税退税申请模板
  • 增值税可以在企业所得税时扣除吗
  • 增值税税率变化时间节点
  • 以前损益年度调整
  • 以前年度多交增值税
  • 汇算清缴银行手续费
  • 上期金额和本期金额是什么意思
  • 上市审计费入账
  • 税收优惠抵扣
  • 减免50%的城建税分录怎么做?
  • 母子公司无偿划转股权印花税
  • 土地使用税什么意思
  • 买赠销售方式的税务筹划
  • 报关单报关没做收入怎么办
  • 外购产品赠送他人合法吗
  • 政府会计基本准则的附则有
  • 这个月没有进项开了发票可怎么办
  • 船票能开发票吗
  • 虚开增值税专用发票罪判决书
  • 在线负利计算器
  • 怎么用手撕胶带图解
  • 按折现率计算现值
  • 小规模纳税人简易计税方法
  • 营改增后小规模都是三个点吗
  • 房地产土地抵扣
  • 企业收购股权要交税吗
  • 资本公积 税务
  • 应收和预收怎么算
  • 苹果手机搜不到airpods
  • 收到科技局研发的短信
  • 销售利润率的计算公式Excel
  • 全免增值税企业有哪些
  • 仓库折旧费
  • 教育培训行业收入
  • 会计基础工作是会计工作的基本环节
  • TCN(Temporal Convolutional Network,时间卷积网络)
  • 《ai人工智能》
  • 2手房价格
  • 一般纳税人两费附加减免规定
  • 为etc充值
  • 核定征收的方式包括
  • 没有银行回单,只有银行对账单,可以入账吗
  • 非货币性资产交换
  • python中import语句
  • mysql @参数
  • 公司代个人缴纳社保,但不发工资和交税
  • 大额医疗保险计入什么科目
  • 开票服务名称可以自己添加吗
  • 一般项目的进项税和即征即退进项税
  • 企业做账的流程图
  • 安全生产费实际发生
  • 开票金额大于收入增值税申报表填写
  • 多缴所得税返还会计分录
  • 怎么解释税收
  • 固定资产一次性扣除账务处理
  • 以前年度多计提的税金怎么调整
  • 滴滴发票抬头是什么意思
  • 外购固定资产
  • SQL Server Parameter Sniffing及其改进方法
  • sqlserver全文索引
  • win8命令提示符管理员怎么打开
  • centos6.10安装
  • 如何查看windows使用痕迹
  • win7系统更新补丁会解决游戏卡顿的问题吗
  • linux文件系统的根目录的i节点号为
  • 如何理解python语言
  • scrollpane.setviewportview
  • Extjs407 getValue()和getRawValue()区别介绍
  • linux中shell脚本编写
  • 如何使用nodejs
  • fortune命令
  • unity3d最新
  • python类属性和类方法
  • python asyncio await
  • 江苏国税电子税局
  • 浙江国地税申报网
  • 税务局三方协议变更
  • 汽车发票含税吗
  • 精神残疾人员是残疾人吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设