Jmeter系列进阶-获取图片验证码(4)

安装工具

通过ocrserver工具识别图片验证码,解压后 .exe双击启动即可。

jmeter中使用

(1)HTTP请求获取验证码
在这里插入图片描述
(2)在获取验证码图片的接口下面添加监听器》保存响应到文件;如下图:
在这里插入图片描述

(3)再取样器中再添加JSR223 Sampler;注释一下该取样器是把图片转换成base64格式;并编写代码;
在这里插入图片描述

SampleResult.setIgnore();
import java.io.*;
import org.apache.commons.codec.binary.Base64;
String image=vars.get("png");
byte[] data = null;
try {InputStream in = new FileInputStream(image);data = new byte[in.available()];in.read(data);in.close();
} catch (IOException e) {e.printStackTrace();
}
Base64 base64=new Base64();
vars.put("base64",base64.encodeToString(data));
//return image;

(4)在添加一个HTTP请求,用来调用OcrServer工具,IP地址为127.0.0.1,端口为12349,post请求,在body中引用base64;
在这里插入图片描述
(5)在验证码识别请求下再添加一个json提取器;把识别到的图片验证码的字段提取出来;如下图:识别图片验证码的字段为json格式;
在这里插入图片描述
在json提取器中通过jsonpath方法提取出code的值
在这里插入图片描述
(6)验证提取的字段是否和图片验证码上的字段一致;
在这里插入图片描述
(8)通过第7步可以看到正确的提取出了验证码字段,然后在登录的接口调用image_code即可;
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/77754.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt/C++音视频开发51-推流到各种流媒体服务程序

一、前言 最近将推流程序完善了很多功能,尤其是增加了对多种流媒体服务程序的支持,目前支持mediamtx、LiveQing、EasyDarwin、nginx-rtmp、ZLMediaKit、srs、ABLMediaServer等,其中经过大量的对比测试,个人比较建议使用mediamtx和ZLMediaKit,因为这两者支持的格式众多,不…

【Linux环境】编译器 gcc/g++的使用

​👻内容专栏: Linux操作系统基础 🐨本文概括: 预处理、编译、汇编、链接、动静态库、gcc选项等。 🐼本文作者: 阿四啊 🐸发布时间:2023.9.13 背景知识 预处理(进行宏替换…

Mobpush与A/B测试:覆盖多应用场景下的精细化运营神器

在信息爆炸的移动应用领域,实现长效稳定的用户增长的关键在于能够和用户建立互信、持久的联系。而优质的推送内容不仅可以提高用户参与度和留存率,还有助于增加收入、改善用户体验,以及建立强大的用户社区。但千人一面的推送很难同时满足不同…

算法|Day51 单调栈2

LeetCode 503- 下一个更大元素 II 题目链接:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目描述:给定一个循环数组 nums ( nums[nums.length - 1] 的下一个元素是 nums[0] ),返回 num…

java运行以jar包的形式运行和tomcat运行的区别和联系?

Java 运行以 JAR 包形式和 Tomcat 运行之间存在一些区别和联系: 区别: 部署方式:JAR 包形式的 Java 应用可以作为独立的进程运行,通过命令行或脚本启动。而 Tomcat 是一个 Web 服务器和 Servlet 容器,需要将应用程序打…

Jmx协议远程连接java服务器

注意:本例里,我用的是jdk17 通常用jdk自带的jconsole,或者想要功能强大点的使用visualVM 需要java服务器在启动的时候加上以下参数 -Dcom.sun.management.jmxremote 启用jxm远程连接-Djava.rmi.server.hostname10.1.3.99 指定jxm监听地址&…

第一百四十天学习记录:工作相关:Qt5.14.2的安装

最近一段时间被新项目搞得心力憔悴。 加上需要调用一个同事的OpenCV库一直报错,后面发现是Qt版本不兼容的问题。 在尝试了在线安装Qt无果后,重新安装Qt,顺便回顾一下Qt的安装过程。 毕竟上一次安装Qt还是在2019年……之后的这4年工作电脑和家…

记录我在cmd里使用pip命令下载Python的包时碰见的两个错误

1、pip时报错:Defaulting to user installation because normal site-packages is not writeable 解决方法:在 pip install 后面加上 --user 即可,这个是权限不足引发的问题。如果还是不行则用镜像源,然后别忘了在镜像源的“inst…

欧科云链与HashKey Exchange达成合作,助力香港虚拟资产合规化

继8月10日 欧科云链 与 华为云 达成合作之后, 今天,欧科云链 又与 Hashkey Exchange 共同宣布正式达成合作! 这次与Hashkey达成合作,双方又将在Web3行业中谱写怎样的故事? 9月6日,欧科云链控股有限公司&…

微软D365 入门文章汇总以及各项认证介绍(持续跟新.....)

介绍 希望入门D365的同学们,需要具备的知识点,涉及C#,WebApi,前端知识,Power Platform等知识,以及Azure的知识点等,需要有了解。 实施Microsoft Dynamics 365 CE (12章)…

利用优化算法提高爬虫任务调度效率

在大规模数据采集的场景中,高效的任务调度是关键之一。通过利用优化算法,我们可以提高爬虫任务的调度效率,加快数据采集速度,并有效利用资源。本文将为您介绍如何利用优化算法来优化爬虫任务调度,实现高效的批量采集。…

Buuctf web [SUCTF 2019]EasySQL

又是一道考察sql注入的题 1、起手试探 (主要看看输入什么内容有正确的回显) 1 0 1 1 # 发现只有在输入1的情况下有正常的回显,输入0或其他字符都没有回显,所以这题就要尝试堆叠注入了。 ps:(如果想尝试其他注入方法…

解密企业级PPPoE:部署、配置和管理的最佳实践

亲爱的读者朋友们!今天,我将带你一起探索企业级PPPoE,这个让你畅快玩转互联网的神奇协议! 首先,让我们来了解一下什么是PPPoE。它代表着"点对点协议以太网",是一种强大而灵活的网络连接协议。对…

Debian下Hadoop集群安装

Debian下Hadoop集群安装 依赖安装 jdk 8 sudo apt-get update && sudo apt-get install -y wget apt-transport-https wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo tee /etc/apt/keyrings/adoptium.asc echo "deb [signed…

leetcode 2366. Minimum Replacements to Sort the Array(数组排序的最少替换数)

数组nums中的元素nums[ i ] 可以替换为任意两个数a, b, 前提是ab nums[ i ]. 把数组nums变为升序&#xff08;可以有相等&#xff09;数组需要多少次替换。 思路&#xff1a; 排序数组是左边的元素<右边元素&#xff0c;以右边元素为边界。 所以从右到左遍历数组&#xf…

PY32F003F18之定时器中断

PY32F003F18定时器有TIM1&#xff0c;TIM3&#xff0c;TIM14&#xff0c;TIM16和TIM17。其中TIM1为高级定时器&#xff0c;其它为通用定时器。见下表&#xff1a; 一、PY32F003F18定时器的工作模式&#xff1a; 1、边沿对齐模式 计数器工作在"边沿对齐模式" 设置&q…

List与ArrayList

目录 一、List及其使用 1.1 List的概念 1.2 常见接口的介绍 1.3 List的使用 二、线性表和顺序表 2.1 线性表 2.2 顺序表 三、ArrayList介绍 四、ArrayList的使用 4.1 ArrayList构造 4.2 ArrayList的常用方法 4.3 ArrayList的遍历 4.4 ArrayList的扩容机制 五、ArrayList的具…

字节一面:如何实现单行/多行文本溢出的省略样式?

前言 最近博主在字节面试中遇到这样一个面试题&#xff0c;这个问题也是前端面试的高频问题&#xff0c;作为一名前端开发工程师&#xff0c;css是我们的必备技能&#xff0c;文本溢出问题也是我们经常遇到的问题&#xff0c;我们不仅只是处理这种情况&#xff0c;还要考虑他的…

024 - STM32学习笔记 - 液晶屏控制(一) - LTDC与DMA2D初始

024- STM32学习笔记 - LTDC控制液晶屏 在学习如何控制液晶屏之前&#xff0c;先了解一下显示屏的分类&#xff0c;按照目前市场上存在的各种屏幕材质&#xff0c;主要分为CRT阴极射线管显示屏、LCD液晶显示屏、LED显示屏、OLED显示屏&#xff0c;在F429的开发板上&#xff0c;…

【多线程】线程池 详解

线程池 详解 1. 线程池是什么2. 标准库中的线程池3. 实现线程池4. 面试题 1. 线程池是什么 虽然线程的创建和销毁的开销比较小, 但还是有的, 如果频繁的创建和销毁线程, 开销还是比较大的.解决: 线程池或者协程, 本文主讲线程池. 线程池: 把线程提前创建好, 放到池子里, 后面…