Jmeter getHeaderManager()命令向请求中添加了太多标头

问题描述 投票:1回答:1

我有一个Jmeter测试,它接受身份验证令牌标头,并使用以下命令将其添加到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多个标题。请在下面查看详细信息。有人可以帮我这个忙。

enter image description here

+

jmeter jmeter-5.0
1个回答
0
投票

[我怀疑您一遍又一遍地叫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')))
© www.soinside.com 2019 - 2024. All rights reserved.