jmeter-beanshell学习17-上传文件接口删请求头

jmeter也可以上传文件,但是遇到一个问题,单个上传文件的接口没问题,如果和其他接口放一起就不通了。先放一个上传文件的截图

红框的地方直接全勾上,上传文件的请求头是Content-Type=multipart/form-data,而且这个不能像常规那样,写在http信息头管理器里面,必须勾选这里的。

文件名称就是本地文件绝对路径,路径有中文好像不太好使,还是尽量都英文吧。参数名称是自己接口的参数名。MIME常见类型,放在下面了

|-----------------|---------------------------------------------------------------------------|
| .txt | text/plain |
| .jpg, .jpeg | image/jpeg |
| .png | image/png |
| .pdf | application/pdf |
| .doc | application/msword |
| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| .xls | application/vnd.ms-excel |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| .zip | application/zip |
| .mp4 | video/mp4 |

如果还有其他接口,而且写了一个公用的信息头管理器,那每个接口的默认请求头都是Content-Type= application/json,这个优先级还特别高,会导致上传附件报错。大概下面这种情况

这时候需要用beanshell去掉默认请求头,还是用JSR223 预处理程序,语言选择beanshell

java 复制代码
import org.apache.jmeter.protocol.http.control.HeaderManager;
// 获得请求头信息
HeaderManager headers = sampler.getHeaderManager();
// 删除请求头指定的信息
sampler.getHeaderManager().removeHeaderNamed("Content-Type");

放上这段代码就可以了

相关推荐
m4Rk_2 小时前
【论文阅读】Agent 记忆机制(67):MemPO——用记忆级信用分配训练 Agent 主动管理长程上下文
论文阅读·人工智能·学习·开源·github
下辈子不要当码农2 小时前
ARM学习(1)
学习·arm
東隅已逝,桑榆非晚3 小时前
vector(模拟实现)
c++·笔记·学习
鱼听禅3 小时前
C# 学习笔记-使用 类型化客户端搭建HTTP客户端服务
学习·http·c#·工厂方法模式
高亦真3 小时前
今天是学习嵌入式的第38天
linux·学习·算法
传奇开心果编程4 小时前
【Rust入门知识点学与练】第33课:异步编程入门(async/await)强化
开发语言·学习·rust
传奇开心果编程4 小时前
【Rust入门知识点学与练】第34课:所有权与借用
开发语言·学习·rust
AAA代码批发商4 小时前
DAY43 ARM 体系结构学习笔记|嵌入式入门,从硬件组件到流水线、内存与栈帧
arm开发·笔记·学习
彧azz4 小时前
初学Unity:编辑器
笔记·学习·unity·游戏引擎
明德扬5 小时前
AD9653单通道波形怎么看?幅度、频率与基础测量入门
学习·fpga开发·fpga