我们遇到了一个问题,即客户发送的“ +”作为参数值的一部分,而没有对其进行百分比编码。深入研究后,看起来好像是通过HTML表单编码将“ +”转换为“”,而不是URL规范的一部分。
我发现https://www.ibm.com/mysupport/s/question/0D50z00005phvXb/urls-with-or-2b-in-the-path-or-query-are-incorrectly-decoded-to-space?language=en_US听起来很像我们要达到的目标,但是使用Liberty 19.0.0.8(可能还有一段时间),即使明显设置decodeUrlPlusSign="false"
似乎也无济于事。 / p>
也就是说,当我们调用req.getParameter(queryParameterName)
时,它会返回带有“”而不是“ +”的值。
我在server.xml中进行如下设置:
<webContainer disableXPoweredBy="true" decodeUrlPlusSign="false" />
decodeUrlPlusSign
应该做什么?是否按预期工作?