Jmeter:非 HTTP 响应代码:java.net.URISyntaxException

Posted

技术标签:

【中文标题】Jmeter:非 HTTP 响应代码:java.net.URISyntaxException【英文标题】:Jmeter: Non HTTP response code: java.net.URISyntaxException 【发布时间】:2020-02-28 22:46:07 【问题描述】:

当我运行测试计划时;我正在使用 appurl 的参数

appurl: $_P(appurl,xxx.abcabc.net)

它适用于所有 HTTP 请求采样器,并获得 200 作为响应代码。 但是,当我尝试使用

来定位任何特定的 DNS 名称时

appurl: $_P(appurl,ab12c1002032:8443)

它给了我以下响应: 响应代码:非 HTTP 响应代码:java.net.URISyntaxException 响应消息:非 HTTP 响应消息:索引 9 处的 IPv6 地址格式错误:https://[ab12c1002032]。

我注意到的一件事是 DNS 周围有“[]”括号。它会自动出现在 URL 中。

请帮我纠正这个括号问题。

提前致谢。

【问题讨论】:

【参考方案1】:

HTTP Request 采样器的服务器名称或 IP 字段中只能有 IP address 或 DNS hostname

您需要将其拆分为hostnameport,例如:

$_P(appHost,xxx.abcabc.net)

$_P(appPort,8443)

或将您的 appurl 属性放入 HTTP 请求采样器的路径部分:

但是在这种情况下,您可能会遇到某些控制元素(例如 HTTP Cookie Manager)的故障,因此我建议您将 URL 拆分为主机名和端口,如第一张图片所示

【讨论】:

感谢您的见解。它工作正常,而不是在 appurl 中提供任何东西,拆分 DNS 主机名和端口是有意义且合乎逻辑的。【参考方案2】:

我可以从您的描述中了解到,您不应该在 url 中提供端口号,这就是为什么它说明格式错误的 url。 尝试通过在它应该成功运行的端口号框中提供端口号来运行它。

【讨论】:

以上是关于Jmeter:非 HTTP 响应代码:java.net.URISyntaxException的主要内容,如果未能解决你的问题,请参考以下文章

JMeter 非 HTTP 响应代码:在 Kubernetes 上运行时出现 java.net.UnknownHostException

Jmeter - 简单的 HTTP 请求

jmeter找不到接口错误

jmeter添加断言

Jmeter 断言

HTTP2 请求不遵循 JMeter 5.0 中的重定向