tomcat8
默认不支持url里面有特殊字符或者中文,不然会报错
Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986
如果只是放行个别字符可以增加如下配置
conf/catalina.properties中,找到最后注释掉的一行 #tomcat.util.http.parser.HttpParser.requestTargetAllow=| ,改成tomcat.util.http.parser.HttpParser.requestTargetAllow=|{},表示把{}放行
参考:https://www.cnblogs.com/wsygdb/p/7661220.html
在非ie下,url会自动encode,所以没有问题,但是在ie下,url不会encode,这时候需要手动encodeURI(url),才不会出现问题
另外需要注意的是加时间戳的时候,也要new Date().getTime()的方式加,不然直接new Date()会出现中文字符。
还有就是参考网上在tomcat配置server.xml中增加了useBodyEncodingForURI="true"后,发现中文到后台变乱码了,不知道加这个是做什么用的,一般都不需要加这个配置。
默认不支持url里面有特殊字符或者中文,不然会报错
Invalid character found in the request target.The valid characters are defined in RFC 7230 and RFC3986
如果只是放行个别字符可以增加如下配置
conf/catalina.properties中,找到最后注释掉的一行 #tomcat.util.http.parser.HttpParser.requestTargetAllow=| ,改成tomcat.util.http.parser.HttpParser.requestTargetAllow=|{},表示把{}放行
参考:https://www.cnblogs.com/wsygdb/p/7661220.html
在非ie下,url会自动encode,所以没有问题,但是在ie下,url不会encode,这时候需要手动encodeURI(url),才不会出现问题
另外需要注意的是加时间戳的时候,也要new Date().getTime()的方式加,不然直接new Date()会出现中文字符。
还有就是参考网上在tomcat配置server.xml中增加了useBodyEncodingForURI="true"后,发现中文到后台变乱码了,不知道加这个是做什么用的,一般都不需要加这个配置。