Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC

网上说的很清楚,是因为tomcat版本升级对请求头做了规范限制。解决方法:

一、降低Tomcat版本,使用Tomcat 7可能没问题,我没有试,也不会那样做。

 需要更换那些版本的tomcat,可以直接下载对应的版本的tomcat

  http://archive.apache.org/dist/tomcat/tomcat-6/

  http://archive.apache.org/dist/tomcat/tomcat-7/

  http://archive.apache.org/dist/tomcat/tomcat-8/

  http://archive.apache.org/dist/tomcat/tomcat-9/

二、某些版本的 Tomcat 可以临时放开限制(转载内容):

根据(https://bz.apache.org/bugzilla/show_bug.cgi?id=60594) ,从以下版本开始,有配置项能够关闭/配置这个行为:
8.5.x系列的:8.5.12 onwards
8.0.x系列的:8.0.42 onwards
7.0.x系列的:7.0.76 onwards

解决办法如下:
…/conf/catalina.properties中,找到最后注释掉的一行 #tomcat.util.http.parser.HttpParser.requestTargetAllow=|  ,改成tomcat.util.http.parser.HttpParser.requestTargetAllow=|{},然后去掉这句话的注释。

三、使用其他方式传参(post、localStorage)

四、对url进行编码(urlencode),以下是对照表,方便手写编码:

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC

Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC