python生成网页验证码的方法

  介绍

这篇文章主要介绍了python生成网页验证码的方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

验证码为<强>公益诉讼模块生成,可直接应用于django框架当中。

首先需要安装<强>枕头模块我们这里使用的版本为3.4.1
终端中直接输入指令pip安装枕头==3.4.1

得到PIL  import 形象,ImageDraw, ImageFont   得到django.utils.six  import  BytesIO      def  verify_code(请求):   #才能引入随机函数模块   import 才能;随机的   #才能定义变量,用于画面的背景色,宽,高   bgcolor 才能=,(random.randrange (20, 100), random.randrange (   ,,,,,100),255)   width 才能=100   height 才能=25   #才能创建画面对象   我才能=,Image.new (& # 39; rgb # 39;,,(宽度,高度),背景)   #才能创建画笔对象   时间=draw 才能;ImageDraw.Draw (im)   #调才能用画笔的点()函数绘制噪点   for 才能小姐:拷贝范围(0,100):   ,,,xy =, (random.randrange(0,宽度),random.randrange(0,高度))   ,,,fill =, (random.randrange(0, 255), 255年,random.randrange (0, 255))   ,,,draw.point (xy,填补=填写)   #才能定义验证码的备选值   时间=str1 才能;& # 39;ABCD123EFGHIJK456LMNOPQRS789TUVWXYZ0& # 39;   #才能随机选取4个值作为验证码   时间=rand_str 才能;& # 39;& # 39;   for 才能小姐:拷贝范围(0,4):   ,,,rand_str  +=, str1 [random.randrange (0,, len (str1)))   #才能构造字体对象,ubuntu的字体路径为“/usr/分享//truetype字体/freefont”   font 才能=,ImageFont.truetype (& # 39; FreeMono.ttf& # 39;,, 23)   #才能构造字体颜色   fontcolor 才能=,(255年,random.randrange (0, 255), random.randrange (0, 255))   #才能绘制4个字   draw.text才能((5,2),,rand_str[0],,字体=字体,填补=fontcolor)   draw.text才能((25,2),,rand_str[1],,字体=字体,填补=fontcolor)   draw.text才能((50,2),,rand_str[2],,字体=字体,填补=fontcolor)   draw.text才能((75年,,2),,rand_str[3],,字体=字体,填补=fontcolor)   #才能释放画笔   ,del 画   #存才能入会话,用于做进一步验证   request.session才能[& # 39;verifycode& # 39;],=rand_str   #内才能存文件操作   时间=buf 才能;BytesIO ()   #才能将图片保存在内存中,文件类型为png   im.save才能(buf, & # 39; png # 39;)   #才能将内存中的图片数据返回给客户端,MIME类型为图片png   return 才能;HttpResponse (buf.getvalue(), & # 39;图像/png # 39;

感谢你能够认真阅读完这篇文章,希望小编分享的“python生成网页验证码的方法”这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

python生成网页验证码的方法