验证码
Posted liqiongming
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了验证码相关的知识,希望对你有一定的参考价值。
图形验证码:
1 from django.http import HttpResponse 2 from utils.captcha.xfzcaptcha import Captcha 3 # 内存管道,存储Bytes类型的数据 4 from io import BytesIO 5 6 # 图形验证码; 7 def img_captcha(request): 8 text,image = Captcha.gene_code() 9 # BytesIO:相当于一个管道,用来存储图片的数据流; 10 out = BytesIO() 11 # 调用image的save方法,将image对象保存到BytesIO中; 12 image.save(out,‘png‘) 13 # 将BytesIO的文件指针移到到最开始的位置; 14 out.seek(0) 15 response = HttpResponse(content_type=‘image/png‘) 16 # 从BytesIO管道中,读取出图片数据,保存到response对象上; 17 response.write(out.read()) 18 response[‘Content-length‘] = out.tell() 19 return response
1 # 图形验证码的html文件 2 <img src="{% url ‘xfzauth:img_captcha‘ %}" alt="" class="img-captcha">
1 # App的url; 2 from django.urls import path 3 from . import views 4 5 app_name = "xfzauth" 6 7 urlpatterns = [ 8 path(‘img_captcha/‘,views.img_captcha,name=‘img_captcha‘) 9 ] 10 11 # 项目url; 12 from django.urls import path,include 13 14 urlpatterns = [ 15 path(‘course/‘,include(‘apps.course.urls‘)), 16 ]
1 // js文件,图形验证码的点击刷新事件; 2 3 function Auth(){ 4 5 }; 6 Auth.prototype.listenImageCaptchaEvent = function(){ 7 var imgCaptcha = $(".img-captcha"); 8 imgCaptcha.click(function () { 9 imgCaptcha.attr("src","/account/img_captcha/"+"?random="+Math.random()) 10 }); 11 }; 12 13 Auth.prototype.run(){ 14 var self = this; 15 self.listenImageCaptchaEvent(); 16 }; 17 18 $(function () { 19 var auth = new Auth(); 20 auth.run(); 21 });
以上是关于验证码的主要内容,如果未能解决你的问题,请参考以下文章
Android SMS Verification API 结果码始终为 0
爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别