You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter中移除后续GET请求体以解决CloudFront错误?

解决GET请求携带请求体导致CloudFront错误的方法

方法1:全局前置处理器统一处理

  • 在测试计划根节点添加HTTP请求默认值元件
  • 给该元件添加JSR223前置处理器(推荐用Groovy语言),写入以下脚本:
    if (sampler.getMethod().equalsIgnoreCase("GET")) {
        sampler.setPostBodyRaw(false);
        sampler.setArguments(new org.apache.jmeter.config.Arguments());
    }
    
    脚本会自动识别所有GET请求,清空其请求体,不影响POST、PUT等需要请求体的请求方法。

方法2:修改BlazeMeter录制规则

  • 打开BlazeMeter Chrome扩展设置,找到「录制过滤器」或「请求修改」选项
  • 添加规则:当请求方法为GET时,自动移除请求体。部分版本的扩展支持直接配置这类规则,从源头避免录制出带请求体的GET请求。

方法3:批量清理已录制的脚本

如果已经完成录制,可通过JSR223脚本批量修改所有GET请求:

  • 在测试计划根节点添加JSR223后置处理器,写入以下代码:
    def testPlan = ctx.getTestPlan()
    def allSamplers = org.apache.jmeter.testelement.TestElementFinder.allDescendants(testPlan, org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.class)
    allSamplers.each { sampler ->
        if (sampler.getMethod().equalsIgnoreCase("GET")) {
            sampler.setPostBodyRaw(false)
            sampler.setArguments(new org.apache.jmeter.config.Arguments())
        }
    }
    
    注意:该脚本只需执行一次,可通过逻辑控制器控制执行时机(比如放在仅执行一次的线程组中)。

方法4:手动批量编辑(适合小规模脚本)

  • 在JMeter中筛选所有GET请求
  • 逐个打开请求的「请求体」标签页清空内容;若数量较多,可使用JMeter的「查找替换」功能,批量移除GET请求的请求体配置。

内容的提问来源于stack exchange,提问作者Matt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:11:02