JMeter:如何在 JMeter 用户定义变量中提供包含正斜杠的主机名?

JMeter: How to supply a hostname which contains a forward slash in JMeter user defined variables?

提供给 JMeter 测试计划的主机名包含一个正斜杠,并且已在用户定义的变量部分中定义。但是,每次测试都是运行,在响应信息中看到如下:

Response message:Non HTTP response message: Illegal character found in host: '/'

提供的主机名: Jmetertest.com/test

有什么办法解决这个问题吗?提前致谢! :)

A DNS hostname 不能包含斜线。

The Internet standards (Request for Comments) for protocols specify that labels may contain only the ASCII letters a through z (in a case-insensitive manner), the digits 0 through 9, and the hyphen-minus character ('-'). The original specification of hostnames required that labels start with an alpha character, and not end with a hyphen

因此您需要从 URL Path

中拆分主机名

即在下面 URL:

https://example.com/foo?bar=baz
  • https - 协议
  • example.com - 是主机名
  • /foo是路径
  • ?bar=baz是查询字符串

HTTP Request 采样器中,您只能使用以下语法:

如果您在“IP 的服务器名称”字段中输入任何超出允许的字符,您将收到错误消息。

理论上可以将完整的 URL 放入“路径”字段中,例如:

但在这种情况下,像 HTTP Cookie Manager 这样的配置元素可能会停止工作。