JMeter HTTP(S)测试脚本记录器始终添加连接:拦截请求时靠近请求头

7uhlpewt  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(94)

我正在尝试拦截来自我的移动的应用程序的请求。在某些应用程序屏幕上,请求需要通过Connection发送:保持生命。但HTTP(S)测试脚本记录器始终添加“连接:在拦截请求时关闭”标头。我不知道为什么,但这使得HTTP响应不正确,并导致我的应用程序在某些屏幕上失败。所以我不能记录之后的所有请求。
我说请求需要通过连接发送:keep-alive,因为我比较了来自JMeter和BurpSuite的请求。唯一的区别是连接头:联系方式:关闭JMeter和Connection:BurpSuite的keep-alive。BurpSuite的一切都很好用。
x1c 0d1x的数据
请求的HTTP版本是HTTP/1.1。对于HTTP/1.1,如果未指定,Connection头的默认值为keep-alive,如下所述:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Connection#directives。
如何配置Jmeter HTTP(S)测试脚本记录器以添加连接:keep-alive标头或避免设置Connection:在拦截请求时关闭标头?
提前感谢!

tez616oj

tez616oj1#

默认情况下不会。


的数据



因此,请仔细检查您的HTTP(S)测试脚本记录器配置。
如果您已经记录了脚本,并且希望为所有HTTP请求发送值为keep-alive的Connection头
1.将HTTP Header Manager添加到您的测试计划(可以为空)
1.将JSR223预处理器添加到测试计划中
1.将以下代码放入“脚本”区域:

if (sampler instanceof org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase) {
    sampler.getHeaderManager().removeHeaderNamed('Connection')
    sampler.getHeaderManager().add(new org.apache.jmeter.protocol.http.control.Header('Connection', 'keep-alive'))
}

字符串

相关问题