首页 > 其他分享 >网易增强滑块验证码识别

网易增强滑块验证码识别

时间:2024-08-19 15:52:20浏览次数:8  
标签:网易 滑块 img format base64 验证码 str data

 先来看看实际的滑动效果

这款验证码和传统的相比,确实难度增加了不少。不仅要识别滑块位置,还要识别滑块的旋转角度。难度确实是上了一个台阶,而且只增加了机器的识别难度,真人去滑动还是很容易拼接成功的。

网站在获取验证码的时候,会给我们一个attrs参数,我们就可以通过这个参数计算旋转角度,最终确定滑动距离。

识别的样例代码

import base64
import requests
import datetime
from io import BytesIO
from PIL import Image, ImageDraw

t1 = datetime.datetime.now()

#PIL图片保存为base64编码
def PIL_base64(img, coding='utf-8'):
    img_format = img.format
    if img_format == None:
        img_format = 'JPEG'

    format_str = 'JPEG'
    if 'png' == img_format.lower():
        format_str = 'PNG'
    if 'gif' == img_format.lower():
        format_str = 'gif'

    if img.mode == "P":
        img = img.convert('RGB')
    if img.mode == "RGBA":
        format_str = 'PNG'
        img_format = 'PNG'

    output_buffer = BytesIO()
    # img.save(output_buffer, format=format_str)
    img.save(output_buffer, quality=100, format=format_str)
    byte_data = output_buffer.getvalue()
    base64_str = 'data:image/' + img_format.lower() + ';base64,' + base64.b64encode(byte_data).decode(coding)
    # base64_str = base64.b64encode(byte_data).decode(coding)

    return base64_str

# 加载图片
img1 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\55_0.8036964357785499.jpg')
# 图片转base64
img1_base64 = PIL_base64(img1)
img2 = Image.open(r'E:\Python\lixin_project\OpenAPI接口测试\test_img\55.png')
# 图片转base64
img2_base64 = PIL_base64(img2)
words = '0.8036964357785499'

# 验证码识别接口
url = "http://127.0.0.1/openapi/verify_code_identify/"
data = {
    # 用户的key
    "key": "efZ7oiIRZN1aOCqfynJt",
    # 验证码类型
    "verify_idf_id": "55",
    # 点击区大图
    "img1": img1_base64,
    # 点击顺序小图
    "img2": img2_base64,
    "words": words,
}
header = {"Content-Type": "application/json"}

# 发送请求调用接口
response = requests.post(url=url, json=data, headers=header)

# 获取响应数据,识别结果
print(response.text)
print("耗时:", datetime.datetime.now() - t1)

想了解更多验证码识别,请访问:得塔云

标签:网易,滑块,img,format,base64,验证码,str,data
From: https://blog.csdn.net/2201_75821470/article/details/141307755

相关文章

  • 网易增强滑块验证码识别
    先来看看实际的滑动效果这款验证码和传统的相比,确实难度增加了不少。不仅要识别滑块位置,还要识别滑块的旋转角度。难度确实是上了一个台阶,而且只增加了机器的识别难度,真人去滑动还是很容易拼接成功的。网站在获取验证码的时候,会给我们一个attrs参数,我们就可以通过这个参数计......
  • 前端实现验证码功能
    文章目录需求分析1.输入验证2.滑动验证3.拼图验证需求前端实现验证码功能分析1.输入验证dentify.vue<template><divclass="s-canvas"><canvasid="s-canvas":width="contentWidth":height="contentHeight"......
  • 基于YOLOv8的通用的滑动验证码滑块缺口检测模型
    文章目录前言滑块缺口验证码验证码示例训练步骤总结前言首先放张图片表达此时的心情,同志们节日快乐!!!滑块缺口验证码滑动验证码滑块缺口的位置识别是破解滑块验证码的关键,这里我们尝试使用YOLOV8训练目标检测模型,识别出滑块图片的缺口验证码示例模型通过大批量......
  • 网易codewave_3D模型嵌入展示
    网易codewave是一个企业级智能开发平台,可以帮助用户轻松实现“智能生成逻辑”+“可视化拖拽生成页面”的全栈低代码应用搭建。将多种3D模型格式无缝集成到网易codewave业务表单中,实现3D模型的在线预览。这意味着用户可以在不离开网易codewave平台的情况下,直接查看和操作3D模型......
  • JavaWeb登录实现验证码功能
    1、新建两个工具类importjava.util.Arrays;publicclassCreateVerificationCode{/***验证码难度级别*/publicenumSecurityCodeLevel{Simple,Medium,Hard}publicstaticStringgetSecurityCode(){......
  • 京东旋转验证码识别代码
    京东旋转验证码样例如下:现在京东更新了很多新图片,我们再次进行了大量数据标记,完成了这款验证码的更新。现在正确率可以达到95%左右。下边是这款验证码的识别代码:importbase64importrequestsimportdatetimeimportnumpyasnpfromioimportBytesIOfromPILimpo......
  • springboot 整合微信公众号--验证码推送(spring boot+测试号)
    一、公众号开发初探这里会使用到自己的域名进行交互,没有域名的小伙伴可以使用  内网穿透(NATAPP), 如果没有使用过的的同学请移步 20秒轻松上手NATAAPP(内网穿透)公众号整体流程:用户扫公众号二维码。然后发一条消息:验证码。我们通过api回复一个随机的验证码,并且存入re......
  • 【验证码逆向专栏】某东 M 端登录滑块逆向分析
    声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作......
  • nodejs+阿里云实现发送短信验证码
    一、阿里云短信服务打开阿里云短信服务控制台1.新增资质2.新增模板与签名3.等待审核通过二、node代码1.首先需要下载依赖npmi@alicloud/pop-core--save2.引入依赖关键信息建议放环境变量中 accessKeyId和accessKeySecret在这里↓ 以下是代码constC......
  • OpenCV 数字验证码识别
    目录一:依赖环境安装二:安装tesseract-ocr  (一)介绍  (二)下载地址  (三)下载traineddata训练数据三:代码实现一:依赖环境安装pipinstallPillowpip3installpytesseract二:安装tesseract-ocr(一)介绍其中pytesseract会直接调用tesseract模块,我们需要进行安装不......