处理语法的网址
时jetty抛出IllegalArgumentException,表示它不是有效的十六进制值。
我们尝试将字符编码更改为UTF-16,但仍然无法解析%。有没有办法允许'%'在HttpPServletRequest接口中由getParameter或getParameterMap函数解析?
getParameter的预期输出(" bar")="%test%"
答案 0 :(得分:0)
URL / URI中的符号%
是用于处理URL / URI中的Percent Encoded个字符的保留字符。 - 见RFC3986 Section 2.1
Jetty看到的是%
字符,然后必须使用接下来的2个字符te
来解码您想要的UTF-8字节,在您的测试用例中会导致无效的百分比编码
最基本的,您的示例网址/ URI是“格式错误的URI”。 (尝试在Javascript或Python或Perl)
中对其进行解码另请注意,所有URL / URI处理都是UTF-8(在不同的编码方案中解析URL / URI是标准和规范)