Apache Meter - 删除请求网址上的尾部斜杠

时间:2013-12-18 06:59:40

标签: jmeter

我正在尝试发出请求,但它仍然失败,事实证明Apache JMeter在请求中附加了“/”,如查看结果侦听器>请求。

你如何禁用它?谢谢!

5 个答案:

答案 0 :(得分:3)

在请求结尾处填写“?”。

请求网址:www.stackoverflow.com/questions?

JMeter Url将是:https://stackoverflow.com/questions?/

答案 1 :(得分:0)

您的申请途径是什么?如果它是空的,那么绝对期望JMeter在您的路径中添加斜杠。

来自HTTPSamplerBase

// HTTP URLs must be absolute, allow file to be relative
        if (!path.startsWith("/")){ // $NON-NLS-1$
            pathAndQuery.append("/"); // $NON-NLS-1$
        }

在任何情况下,尾部斜杠不应导致任何错误。

如果您从变量获取路径或动态构建它,您应该能够通过Beanshell Pre Processor删除斜杠,如下所示:

假设您有一个名为“PATH”的JMeter变量,其中包含您的路径。

String path = vars.get("PATH");
if (path.endsWith("/")) {
    vars.put("PATH",path.substring(0,path.length()-1));
}

再一次,路径末端的斜线不应该是测试失败的原因。

答案 2 :(得分:0)

您是否添加了正确的 HTTP标头管理器?它是HTTP请求采样器所必需的。 “/”应该不是问题。

答案 3 :(得分:0)

对于那些轻松搜索的人来说,这是:

  1. 在HTTP请求中,只需将服务器名称放在"服务器名称或IP"
  2. 在"路径"
  3. 中添加其余路径

    这应该有效:)

    来源:http://jmeter.512774.n5.nabble.com/Trailing-slashes-appended-to-webservice-path-tp5720633p5720638.html

答案 4 :(得分:0)

在路径字段中输入完整的URL(在URL前面包括http://或http://),而不是服务器名称+路径方法。如果HTTPSamplerBase.java中的getUrl方法检测到URL前面的http或https,则绕过URL创建,并且这种方式不会将斜杠自动附加到URL的末尾。花了我一段时间阅读文档和Java代码以弄清楚。

请参见以下link

中的getUrl方法实现