Api 主机中发现Jmeter非法字符:'/';问题
当我执行http请求时,我试图在我同事的计算机上安装Jmeter。他一直显示此错误,但我发现我的计算机中没有此类错误。我想知道是否有人遇到过类似的问题 我的Api 主机中发现Jmeter非法字符:'/';问题,api,jmeter,jmeter-5.0,Api,Jmeter,Jmeter 5.0,当我执行http请求时,我试图在我同事的计算机上安装Jmeter。他一直显示此错误,但我发现我的计算机中没有此类错误。我想知道是否有人遇到过类似的问题 我的 同事 -- 错误消息 java.net.MalformedURLException: Illegal character found in host: '/' at java.base/java.net.URL.<init>(URL.java:480) at java.base/java.net.URL.<ini
同事 -- 错误消息
java.net.MalformedURLException: Illegal character found in host: '/'
at java.base/java.net.URL.<init>(URL.java:480)
at java.base/java.net.URL.<init>(URL.java:360)
at java.base/java.net.URL.<init>(URL.java:383)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.getUrl(HTTPSamplerBase.java:1053)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231)
at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)
at java.base/java.lang.Thread.run(Thread.java:830)
java.net.MalformedURLException:在主机“/”中找到非法字符
位于java.base/java.net.URL(URL.java:480)
位于java.base/java.net.URL(URL.java:360)
位于java.base/java.net.URL(URL.java:383)
位于org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.getUrl(HTTPSamplerBase.java:1053)
位于org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1231)
位于org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1220)
位于org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:622)
位于org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:546)
位于org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:486)
位于org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:253)
位于java.base/java.lang.Thread.run(Thread.java:830)
<>代码> 尽管我不能告诉你为什么测试在你的机器上与你的同事的行为不同(我想你可能在HTTP请求采样器的高级部分中选择了不同的客户端实现),但是你应该明确地考虑你的URL的哪一部分是:
- 协议
- 服务器名称或IP地址
- 路径
- 参数
并相应地使用JMeter中的相应字段
提示:“/ref=nav_logo”绝对不是服务器名称的一部分。
此www.amazon.com/ref=nav_徽标
不是一个
主机名的有效字符为ASCII(7)字母
从a到z,数字从0到9,连字符(-)。主机名
不能以连字符开头
在任何情况下,您的错误都应该如下所示:
https://www.amazon.com/?ref=nav_logo
^mind this character
因此,正确的采样器配置应为:
通过侦听器可观察到以下请求
接下来请注意,您可以使用或构建JMeter测试计划。使用http请求采样器时会出现此问题,将“/”放在服务器名称或Ip文本框的末尾。如果删除主机信息末尾的“/”字符并将其添加到路径中,则该操作将有效
Thx,我只是好奇,为什么我的电脑能看到结果,其他人看不到?是的,但我的电脑可能会让我感到困惑,很可能是因为不同的Java/JMeter/OS版本。如果您真的想要得到所需的答案,请将
行添加到log4j2.xml文件(位于JMeter安装的“bin”文件夹中),重新启动JMeter,重新运行测试并以某种方式共享JMeter.log文件。因为您的问题显然已经得到了回答,您应该将其标记为这样。