JMeter请求头添加删除方法(解决请求头类型冲突)

news/2024/12/1 19:38:26/

JMeter请求头添加删除方法(解决请求头类型冲突)

1. 为什么会有冲突

请求头的Content-Type类型在做上传和请求图片地址是,请求头类型是不一样的
请求图片地址:Content-Type: image/jpeg
一般的Restful接口:Content-Type: application/json;charset=UTF-8
请求头我们添加了请求头管理器后,后面所有的接口都会用定义的这个参数,当需要进行图片地址请求时 ,默认也使用这个请求头,会导致请求图片地址报错,这个时候需要把默认的请求头数据清除或修改对应的请求头参数
在这里插入图片描述
请求图片地址报错
在这里插入图片描述

2. 对图片接口请求头的修改

全局请求头
在这里插入图片描述

添加BeanShell 预处理程序,使用代码删除全局的请求头信息

import org.apache.jmeter.protocol.http.control.HeaderManager;
// 获得请求头信息
HeaderManager headers = sampler.getHeaderManager();
// 打印全部请求头信息
log.info("删除前" + headers.getHeaders().getStringValue());
// 删除请求头指定的信息
sampler.getHeaderManager().removeHeaderNamed("Content-Type");
sampler.getHeaderManager().removeHeaderNamed("Authorization");
// 打印全部请求头信息
log.info("删除后" + headers.getHeaders().getStringValue());

在这里插入图片描述
删除之后,图片地址请求就可以正常请求了,但此时会发现,后面Restful接口,不能正常访问了,提示没有token了,这个是因为在图片请求时添加的BeanShell 预处理程序删除请求头信息
在这里插入图片描述

3. 图片接口请求完成后,添加全局请求头

下个接口上添加【BeanShell 预处理程序】,注意是【BeanShell 预处理程序】

import org.apache.jmeter.protocol.http.control.HeaderManager;
import org.apache.jmeter.protocol.http.control.Header;
// 获得请求头信息
HeaderManager headers = sampler.getHeaderManager();
// 打印全部请求头信息
log.info("添加前" + headers.getHeaders().getStringValue());
// new一个Header对象
myHeader = new Header("Content-Type", "application/json");
token = new Header("Authorization", "${token}");
// 添加Header到请求头管理器
headers.add(myHeader);
headers.add(token);
// 打印全部请求头信息
log.info("添加后" + headers.getHeaders().getStringValue());

在这里插入图片描述
这个添加完成后,全局的请求头恢复正常,后面接口正常请求访问。
在这里插入图片描述


http://www.ppmy.cn/news/601623.html

相关文章

1.introduction咋写

1.超表面 over the past decades,xxxx吸引了大家的目光,因为其具有xxxxx的优点 (提出超表面简述优点) 2.数字编码超表面 1)数字编码超表面is one of the research directions of metasurface。 2)通过数…

ValueError: cannot reshape array of size 47040000 into shape (60000,)

最近在看《PyTorch深度学习实战》,看到11章 Mnist手写数字图像识别其中加载mnist数据的时候,报错,仔细对着看了一遍发现是images np.fromfile(imgpath, dtypenp.uint8).reshape(len(labels),)这行代码有问题,应该改为images np.…

Topic my-replicated-topic not present in metadata after 60000 ms.

Topic my-replicated-topic not present in metadata after 60000 ms. Exception in thread “main” java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Topic my-replicated-topic not present in metadata after 60000 ms. jav…

Topic ods_base_db not present in metadata after 60000 ms.

在使用flinkCDC从mysql拉数据并写入kafka时报错, 原因是kafka一个节点挂掉, 重启kafka集群解决

h.i.c.PoolingHttpClientConnectionManager:Closing connections idle longer than 60000 MILLISECONDS

场景:使用阿里云OSS服务的时候,debug模式下会打印无数的该信息,严重影响开发心情。 h.i.c.PoolingHttpClientConnectionManager:Closing connections idle longer than 60000 MILLISECONDS 解决方式:在日志控制文件logback-sprin…

项目报Closing connections idle longer than 60000 MILLISECONDS解决方法

在项目本地或者线上环境运行时,控制台一直在报提示:org.apache.http.impl.conn.PoolingHttpClientConnectionManager:421 - Closing connections idle longer than 60000 MILLISECONDS 根据排查,是COS文件上传类引发的这个问题。根本原因在于…

深度学习解决Unable to allocate 33.6 GiB for an array with shape (60000, 224, 224, 3) and data type float32

深度学习时,常常要处理超大文件。因此,常常引起电脑故障。当电脑的内存16G,虚拟内存16G,读入34G的数组,发生错误:Unable to allocate 33.6 GiB for an array with shape (60000, 224, 224, 3) and data typ…

运行kafka控制台报错:Topic XXX not present in metadata after 60000 ms.解决

kafka消息队列项目运行后报org.springframework.kafka.KafkaException: Send failed; nested exception is org.apache.kafka.common.errors.TimeoutException: Topic XXX not present in metadata after 60000 ms.错误, 可以尝试找到kafka的server.properties文件,进入记事本模…