位置: 编程技术 - 正文

在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函数)

  • 2023小规模免税收入会计分录怎么写啊
  • 个人天猫怎么开网店
  • 什么是财务报表审计
  • 其他应付款计入资本公积
  • 小企业会计准则2023电子版
  • 车船抵扣如何填报
  • 公司废品处理一定要入账吗
  • 金银首饰在哪个平台买比较好
  • 发票上盖财务章吗
  • 专项资金可以存定期吗
  • 退回多扣社保分录
  • 法人 持股
  • 长期股权投资的明细科目有哪些
  • 购入包装物
  • 房地产开发企业资质管理规定
  • 个人所得税怎么交的,怎么算的
  • 合并报表内部往来核对不上
  • 收取客户税点怎么记账
  • 其他业务收入包括哪些内容
  • 银行承兑第一手怎么盖章
  • 其他应收账款怎么算
  • 建筑工程购买的家用清洁电器能勾选认证吗
  • 不具备生产条件的生产经营单位
  • 有营业执照是否可以领失业金
  • 专利权的期限是指专利权的实际有效期限
  • 不需要认证的进项税额怎么处理
  • 支付本月职工薪酬
  • php获取文件名
  • 记账凭证的总账科目是什么
  • 小微企业应纳税所得额300万所得税
  • 现金流量表补充资料怎么理解
  • php运用
  • 工业企业成本核算的一般程序包括下列的
  • 印花税每个月都报吗
  • 个税计税周期 一年
  • 著作权费用
  • 建筑企业异地预缴增值税计算
  • 回扣,折扣和佣金都具有违法性对吗
  • wordpress自动更新
  • abs函数python怎么用
  • 电缆租赁发票开具属于什么项目
  • 累计盈余需要设置明细科目吗
  • 已付款但未收到发票怎样记账
  • 税务房屋租赁发票的开具规定
  • 购货方收到销售方提供的发票怎么做分录
  • 已抵扣进项税额转出的会计分录怎么做
  • 内部转账单怎么填制
  • 劳务派遣公司账务处理
  • 小规模纳税人收入是含税还是不含税
  • 企业建帐的基本要求
  • 房地产开发企业增值税怎么算
  • 明细分类账的记账
  • unix du
  • ubuntu如何创建文件
  • ubuntu系统安装程序
  • ubuntu怎么设置成中文
  • CentOS 6.x 到 CentOS 7 的升级过程
  • win8个性化设置
  • windows 打开文件命令
  • linux 多线程 写文件
  • win10系统更新出错怎么办
  • 升级win8系统
  • linux file-nr
  • nodejs 异步
  • linux用户配置文件是什么
  • node.js ssh
  • 区分例假和怀孕前乳头疼
  • 编写python
  • [置顶]bilinovel
  • PHP+jquery+ajax实现分页
  • jquery代码实现鼠标点击
  • javascript用的多吗
  • 细说javascript
  • jquery设置滚动条高度
  • 云南省国家税务局
  • 文化服务包括哪些专业
  • 什么是核心征管申报
  • 手机陌陌卸载还有记录吗
  • 企业改制和重组的区别
  • 养老机构范畴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设