验证码

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 });

 

以上是关于验证码的主要内容,如果未能解决你的问题,请参考以下文章

git动态验证码

Android SMS Verification API 结果码始终为 0

爬虫遇到头疼的验证码?Python实战讲解弹窗处理和验证码识别

JavaScript 有用的代码片段和 trick

pbootcms对接微信扫码登录代码核心片段和步骤(前后端)

如何用JS代码判断验证码输入是不是正确