JMeter:java.net.URISyntaxException:索引处格式错误的转义对

时间:2016-01-16 08:18:23

标签: java excel url jmeter encode

我在JMeter中重新编码了一个用户搜索记录的场景,一旦列出结果,点击Excel图标将结果下载到.xls但是在录制时点击“Excel”图标时会显示错误。< / p>

java.net.URISyntaxException: Malformed escape pair at index 336: https://mylink.myURL.com/Change/ExportHandler?objChanger=ANK,All%20Products,A,Jan-2015,Jan-2016,Country,India,,,1&tableName=datatable-example5&iSortCol_0=2&sSortDir_0=desc&aoColumns=Name,Salesa,Salesb,Share,&Header=Name,ABC%20FM%20Gross%20Sales%20(lakhs),Industry%20Gross%20Sales%20(lakhs),share%20share%20(%),
	at java.net.URI$Parser.fail(Unknown Source)
	at java.net.URI$Parser.scanEscape(Unknown Source)
	at java.net.URI$Parser.scan(Unknown Source)
	at java.net.URI$Parser.checkChars(Unknown Source)
	at java.net.URI$Parser.parseHierarchical(Unknown Source)
	at java.net.URI$Parser.parse(Unknown Source)
	at java.net.URI.<init>(Unknown Source)
	at java.net.URL.toURI(Unknown Source)
	at org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:286)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:74)
	at org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1146)
	at org.apache.jmeter.protocol.http.proxy.Proxy.run(Proxy.java:240)

google上的解决方案是用URL中的25替换%,有些人可以帮助我,因为我如何编码网址。

谢谢!

2 个答案:

答案 0 :(得分:2)

JMeter提供__urlEncode()功能,旨在转义URL中不允许的特殊字符。

您可以使用菜单中提供的Function Helper Dialog - &gt;正在使用确保正确语法的选项

Function Helper Dialog

有关此功能和其他有用的JMeter功能的详细信息,请参阅How to Use JMeter Functions帖子系列。

答案 1 :(得分:0)

试试这个

String escapedUrl = url.replaceAll("(?i)%(?![\\da-f]{2})", "%25");