我是jmeter的新手,我刚刚开始录制脚本,当我尝试通过jmeter中提供的代理服务器录制它时,我会在网站视图上看到一条消息说 -
java.net.URISyntaxException:索引121处的查询中的非法字符:https://xxx.xxx.com/xyz/RELEASE99/“java.net.URI上的java.net.URI $ Parser.fail(未知来源)$ Parser.checkChars(未知来源) )java.net.URI上的java.net.URI $ Parser.parseHierarchical(未知来源)java.net.URI上的$ Parser.parse(未知来源)。(未知来源)java.net.URL.toURI(未知来源)来自org.apache.jmeter.protocol.http.sampler.HTTPHC4Imp l.sample(HTTPHC4Impl.java:234)org.apache.jmeter.protocol.http.sampler.HTTPSample rProxy.sample(HTTPSamplerProxy.java:62) at org.apache.jmeter.protocol.http.sampler.HTTPSample rBase.sample(HTTPSamplerBase.java:1088)at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:211)
如果有人可以帮我解决问题,那将会很感激。
谢谢,Revanth
答案 0 :(得分:1)
看起来您在121位置有一个非ASCII字符。请您检查以下内容:
在jmeter.log文件中搜索 jmeter.JMeter:file.encoding = 之类的内容。它通常位于JMeter安装的/ bin文件夹下。它应该是“UTF-8”。如果不是这种情况 - 用-Dfile.encoding = UTF-8选项重新启动JMeter
jmeter.bat -Dfile.encoding=UTF-8
检查您的HTTP Request Defaults配置元素。如果它不存在 - 添加它并将内容编码节设置为“UTF-8”(不带引号)
检查有问题的HTTP请求“使用请求发送参数”部分。如果您直接在URL中传递参数,最好将它们传输到“使用请求发送参数”。如果有任何非ASCII内容,请确保相关的“编码?”框已选中。
答案 1 :(得分:0)
您的网址似乎有问题?我假设你制作了xxx.xxx?正如所提到的索引(121)建议更长的URL字符串。
您可以从“受信任”的网址开始,例如搜索引擎,这样您就可以检查您的jmeter代理是否正常工作。
答案 2 :(得分:0)
我确实经历过多个检查点,其中最重要的是 1.从HTTP(S)脚本记录器中选择正确的HTTP协议 2.如@dmitri和@ray所说,这两个选项都是正确的 3.除了以上场景之外,我还有一个有效的签名证书,用于我正在尝试的测试环境,并且能够继续进行