Groovy JMeter 传递带空格的字符串,避免 %20

Groovy JMeter Passing a string with spaces, avoiding %20

我有一个 API,它 URL 需要一个带空格的字符串 --> A B C 我试过了

String X = "A B C";
vars.put("myKey",X);

GET  https://myserver.com/Api/v1.0/config/${myKey}   

当 JMeter 执行此命令时,它会在 url 中用 %20 替换空格。我不希望 JMeter 用 %20 替换空格,我该怎么做

GET https://myserver.com/Api/v1.0/config/A%20B%20C

您无法发送 space in URL:

A URL must not contain a literal space. It must either be encoded using the percent-encoding or a different encoding that uses URL-safe characters (like application/x-www-form-urlencoded that uses + instead of %20 for spaces).

但是您可以使用 + 而不是 space

请注意 server/receiving end 会将其解码回 spaces,因此没有真正的问题。

通常浏览器会将输入地址栏的space替换为%20。 JMeter 也是如此。

您必须更新您的 API,因此带有 %20 的 URL 参数应该被您的 [=16] 解释为带有 space(s) 的字符串=].