分析原因: 导致上述问题是因为tomcat自tomcat 8.0.35版本之后对URL参数做了比较规范的限制,必须遵循RFC 7230 and RFC 3986规范,对于非保留字字符(json格式的请求参数)必须做转义操作,否则会抛出Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986错误信息。
访问spring boot controller时,报错:The valid characters are defined in RFC 7230 and RFC 3986 1、特殊符号 @SpringBootApplicationpublicclassApplication {publicstaticvoidmain(String[] args) { SpringApplication.run(Application.class, args);//允许特殊符号,本例是 | { } 做入参,也可追加其他符号System.se...
springboot 中,使用tomcat做服务器,遇到 The valid characters are defined in RFC 7230 and RFC 3986 。 原因,tomcat 高版本使用了更标准的rfc规范,在url上不允许使用部分特殊字符。 源码参看 org.apache.tomcat.util.http.parser.HttpParser 129行 解决方法: 1、改成post方法。这个是最简单,也是最合理的。 2...
① 在tomcat 8.0.35之后 ,tomcat对url的参数做了比较规范的限制,必须按照RFC 7230 and RFC 3986规范,对于非保留字字符,如果不做转义处理,一律都会报The valid characters are defined in RFC 7230 and RFC 3986 错误 ② RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及...
1. RFC 7230和RFC 3986标准中关于字符的定义 RFC 7230:这个标准主要关注HTTP/1.1消息语法和路由。虽然它本身不直接定义URI的字符集,但它指定了HTTP消息头(包括URI)的编码规则,通常引用RFC 3986来处理URI的语法和字符编码。 RFC 3986:这个标准定义了URI的通用语法,包括URI的组成部分(如协议、主机名、路径、查询参数...
RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符。 RFC3986中指定了以下字符为保留字符: ! * ' ( ) ; : @ & = + $ , / ? # [ ] 不安全字符 还有一些字符,当他们直接放在Url中的时候,可能会引起解析程序的歧义。这些字符被视为不安全字符,原因...
简介:IE上的 The valid characters are defined in RFC 7230 and RFC 3986 坑的解决方法 前言 日常开发中经常遇到一些莫名其妙的小问题,例如即将上线的项目在线上异常报错,但是在本地确可以正常运行。往往这猝不及防的小惊喜,真是让我们猿猿欲哭无泪啊。这里简单总结一下在IE浏览器上遇到的一个小坑,之前就因为...
使用POST提交数据内容(body中)1.~/conf/catalina.properties中,找到最后注释掉的一行 #tomcat.util.http.parser.HttpParser.requestTargetAllow选项,改成tomcat.util.http.parser.HttpParser.requestTargetAllow=|{},选项是按照字符分隔为一个数组,表示放行["|","{","}"]2.或者你可以在~/conf/...
我的问题接口是接口中包含 “^”特殊符号,tomcat 8.5.35报如下的错。 Invalid character found in the request target. The valid characters are defined in RFC 3986 从错误日志中看到Error parsing HTTP request header 负责解析http请求的是org.apache.tomcat.util.http.parser.HttpParser,它对请求对URL中对字符...
1.RFC 3986文档规定,Url中只允许包含英文字母(a-z,A-Z)、数字(0-9)、- _ . ~ 4个特殊字符以及所有保留字符。 2.RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ] 不安全字符 还有一些字符,当他们直接放在Url中的时候,可能会引起解析程序的歧义。这些字符被视为...