1.springboot 1.3.5升级1.5.9后 默认使用tomcat 8.5版本而之前用的是tomcat7    get请求报400 异常信息为 The valid characters are defined in RFC 7230 and RFC 3986 2.注意这里说明了,只是get请求.post的请求没问题 -------解决办法 将get请求的参数urlencode一下 param = encodeURIComponent(param); PS: 1.RFC3986文档规定,U…
问题 24-Mar-2017 23:43:21.300 INFO [http-apr-8001-exec-77] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.Illeg…
一.背景 事情是这样的,前几天做一个基本的数据库“增删改查”的需求,前端传参的方式是“JSON字符串”,后端接收到此参数后,使用阿里巴巴fastjson进行解析,然后入库.需求很简单吧,但是偏偏遇到问题了. 我发现,JSON字符串里面无数组,纯粹的都是json结构的时候,即都是“{}”时,不会报错,传参入库没问题.但是只要传参的值里面有数组,即有“[]”的结构时,就报错.报错内容如下(我的tomcat版本是8.5.45): java.lang.IllegalArgumentException:…
tomcat 8.0以后对请求URL做了严格的过滤 就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z).数字(0-9).-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符:! * ’ ( ) ; : @ & = + $ , / ? # [ ]). 这可能会遇到一个问题,比如参数中传了一段json,而"{"不在RFC3986中的保留字段中,就会认为是非法的.这时候你的请求压根到不了你…
十二月 , :: 下午 org.apache.coyote.http11.AbstractHttp11Processor process 信息: Error parsing HTTP request header Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character fo…
  1.情景展示 当你使用浏览器进行问号传参与后台进行交互时,会报这个异常. tomcat控制台报错信息如下: The valid characters are defined in RFC 7230 and RFC 3986 2.原因分析 出现这个异常,需要满足3个条件: 第一:tomcat7.0.73以上: 第二:ie浏览器: 第三:get传参,参数值带有中文. 3.解决方案 方式一:使用encodeURI()函数对中文参数值进行编码: 方式二:将get传参改为post传参: 方式三:降低t…
tomcat8项目移到tomcat9,出现如下问题 HTTP Status 400 – Bad Request Type Exception Report Message Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986 Description The server cannot or will not process the reque…
分析原因: 导致上述问题是因为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错误信息. 解决办法有很多方式,具体如下几种: 1. 遵循…
访问 spring boot controller时,报错:The valid characters are defined in RFC 7230 and RFC 3986 1.特殊符号 @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); //允许特殊符号,本例是 | {…
springboot版本: 2.1.5 最近使用springboot搭建了一个App后台服务的项目,开发接口的时候在本机使用postman工具做请求测试,请求返回一直很正常,但是在前端开发使用h5请求后台服务的时候,前台请求400,浏览器提示请求跨域 但是我在提供接口请求的入口处做了跨域处理的,如图: 所以我考虑可能不是跨域问题,查看ide控制台发现每次请求都会报如下错误: java.lang.IllegalArgumentException: Invalid character found i…