相信大家都明白,大多数的网站为了不被恶意访问,往往需要设置验证码登录,避免机器人访问,而造成我服务器瘫痪,崩溃,这里用到Python3,下面就来看看实现的具体过程吧!
代码编写
如下这个网站,登录需要验证码
示例代码
前端代码
<scriptsrc="https://cdn.kgcaptcha.com/captcha.js?appid=94dATYQa"></script><script>kg.captcha({ // 绑定元素,验证框显示区域bind: "#captchaBox", // 验证成功事务处理success: function(e) { console.log(e); }, // 验证失败事务处理failure: function(e) { console.log(e); }, // 点击刷新按钮时触发refresh: function(e) { console.log(e); } }); </script><divid="captchaBox">载入中 ...</div>
Python代码
fromwsgiref.simple_serverimportmake_serverfromKgCaptchaSDKimportKgCaptchadefstart(environ, response): # 填写你的 AppId,在应用管理中获取AppID="94dATYQa"# 填写你的 AppSecret,在应用管理中获取AppSecret="6u2BhEgORjQPkO1c69mpg2z5lLTLHf6a"request=KgCaptcha(AppID, AppSecret) # 填写应用服务域名,在应用管理中获取request.appCdn="https://cdn.kgcaptcha.com"# 请求超时时间,秒request.connectTimeout=10# 用户id/登录名/手机号等信息,当安全策略中的防控等级为3时必须填写request.userId="kgCaptchaDemo"# 使用其它 WEB 框架时请删除 request.parse,使用框架提供的方法获取以下相关参数parseEnviron=request.parse(environ) # 前端验证成功后颁发的 token,有效期为两分钟request.token=parseEnviron["post"].get("kgCaptchaToken", "") # 前端 _POST["kgCaptchaToken"]# 客户端IP地址request.clientIp=parseEnviron["ip"] # 客户端浏览器信息request.clientBrowser=parseEnviron["browser"] # 来路域名request.domain=parseEnviron["domain"] # 发送请求requestResult=request.sendRequest() ifrequestResult.code==0: # 验证通过逻辑处理html="验证通过"else: # 验证失败逻辑处理html=f"{requestResult.msg} - {requestResult.code}"response("200 OK", [("Content-type", "text/html; charset=utf-8")]) return [bytes(str(html), encoding="utf-8")] httpd=make_server("0.0.0.0", 8088, start) # 设置调试端口 http://localhost:8088/httpd.serve_forever()
结果截图
生成验证码并验证成功,成功登录,进入到个人信息页。
相关链接
官方地址:凯格行为验证码(KgCaptcha)滑动拼图验证,无感验证码,文字点选验证码
在线体验:凯格行为验证码在线体验
开发文档:凯格行为验证码-开发文档