jmeter - Jmeter getHeaderManager() 命令向请求中添加太多标头
问题描述
我有一个 Jmeter 测试,它接受 auth Token 标头并使用以下命令添加到 http 请求中
sampler.getHeaderManager().add(new Header("Authorization","Bearer " + vars.get("BEARER")));
它对于前几个请求工作正常,然后因以下错误而失败
HTTP Error 400. The size of the request headers is too long
当我检查标题时,它实际上为 Auth Token [:O] 添加了大约 100 多个标题。请参阅下面的详细信息。有人可以帮我解决这个问题。
解决方案
我怀疑,你HeaderManager#add
一遍又一遍地打电话。该方法add
添加了一个标题。虽然您真正想要做的是替换标题。可悲的是,没有办法HeaderManager
这样做。
但是你可以模仿它。首先删除Authorization
从标头管理器命名的所有标头,然后重新添加具有新值的标头。Groovy 中的代码如下所示:
import org.apache.jmeter.protocol.http.control.Header
sampler.headerManager.removeHeaderNamed('Authorization')
sampler.headerManager.add(new Header('Authorization', 'Bearer ' + vars.get('BEARER')))
推荐阅读
- javascript - 无法将焦点从下拉列表更改为文本字段
- google-bigquery - 如何更改 BQ 中结构数组中的值
- javascript - eslint 最大嵌套括号规则
- java - Maven 版本影响 Spring MVC 部署
- android - Android Studio Firebase 查询搜索返回对象
- python - 在 Matplotlib 中调整图形
- c# - OxyPlot 图形不更新
- tree - 平衡树的正确方法
- javascript - 如何在 Javascript 中将 XML 文件转换为 Document 对象?
- nativescript - Nativescript imagepicker .getImage() 不是函数错误