Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 主机中发现Jmeter非法字符:'/';问题_Api_Jmeter_Jmeter 5.0 - Fatal编程技术网

Api 主机中发现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

当我执行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.<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文件。因为您的问题显然已经得到了回答,您应该将其标记为这样。