非常漂亮的Python验证码(记录)
为了防止提交表单时被机器操作或恶意攻击,一般在填写表单时使用验证码来过滤掉一些非法提交的数据。今天给大家介绍一个超级实用又漂亮的Python验证码库:KgCaptcha。先发个截图看看效果:1、前端接入码:
2.Python接入代码:fromwsgiref.simple_serverimportmake_serverfromKgCaptchaSDKimportKgCaptchadefstart(environ,response):#填写你的AppId,在应用管理中获取AppID="L001"#填写你的AppSecret,在应用管理中获取AppSecret="W68oJi0iqT2C3BFRGirO1IaYCDvsYEED"request=KgCaptcha(AppID,AppSecret)#填写应用服务的域名,在应用管理中获取。request.appCdn="https://cdn.kgcaptcha.com"#请求超时,秒请求。connectTimeout=10#用户id/登录名/手机号等信息,当安全策略中防控级别为3时,必须填写request.userId="kgCaptchaDemo"#使用其他WEB框架时请删除request.parse,使用框架提供的方法获取以下相关参数parseEnviron=request.parse(environ)#前端验证后下发的token为成功后两分钟有效request.token=parseEnviron["post"].get("kgCaptchaToken","")#frontend_POST["kgCaptchaToken"]#客户端IP地址request.clientIp=parseEnviron["ip"]#client浏览器信息request.clientBrowser=parseEnviron["browser"]#源域名request.domain=parseEnviron["domain"]#发送请求requestResult=request.sendRequest()ifrequestResult.code==0:#验证通过逻辑处理html="验证通过"else:#验证失败逻辑处理html=f"{requestResult.msg}-{requestResult.code}"response("200OK",[("Content-type","text/html;charset=utf-8")])return[bytes(str(html),encoding="utf-8")]httpd=make_server("0.0.0.0",8088,start)#Set调试端口http://localhost:8088/httpd.serve_forever()3.最终SDK开源地址:https://github.com/KgCaptcha,顺便做了一个demo:https://www.kgcaptcha.com/demo/