错误:400报错,Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
原因:tomcat无法识别到接口中的特殊字符,我的错误是接口中含有[]字符
解决办法:
1、在conf/catalina.properties 末尾,添加
tomcat.util.http.parser.HttpParser.requestTargetAllow=|[]
我试了下,没用。
2、在conf/catalina.properties 末尾,添加
org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true
我试了下,虽然不报错,但是还是没法跑通,猜想应该是屏蔽了这个错误,但是还是有问题。
3、在conf/server.xml 中,在Connector配置项添加
relaxedQueryChars="[]|{}^\`"<>"
即下面这句话
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" relaxedQueryChars="[]|{}^\`"<>" redirectPort="8443" />
我试了下,完美解决问题!
参考:https://blog.csdn.net/shenxiaomo1688/article/details/105806305
浙公网安备 33010602011771号