异常The valid characters are defined in RFC 7230 and RFC 3986

news/2024/11/29 16:32:28/

GET请求添加了JSON参数值出现该异常
java.lang.IllegalArgumentException: Invalid character found in the request target
The valid characters are defined in RFC 7230 and RFC 3986
在这里插入图片描述
原因:
tomcat8不允许URL中出现"[]"字符
解决方案:
方案1:对参数进行UrlEncode
方案2:改为post请求
方案3:tomcat降级(没试,不推荐)
方案4:修改tomcat配置,忽略特殊字符(没试)
方案5:springboot,jar包部署,启动类添加如下代码,tomcat忽略特殊字符

@Beanpublic ConfigurableServletWebServerFactory webServerFactory() {TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();factory.addConnectorCustomizers((TomcatConnectorCustomizer) connector -> connector.setProperty("relaxedQueryChars", "|{}[]\\"));return factory;}

http://www.ppmy.cn/news/416311.html

相关文章

解决Tomcat8提示“有效字符在RFC 7230和RFC 3986中定义”的问题

背景 在使用Tomcat8部署项目做测试的时候,发现有的接口会报错400,后端提示在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义的错误 原因分析: 因为日志显示请求地址中包含不合法字符,出现400错误, tomcat高版本严格按照RFC 3986规范解…

Tomcat报错-在请求目标中找到无效字符,有效字符在RFC 7230和RFC3986中定义

tomcat报错-在请求目标中找到无效字符,有效字符在RFC 7230和RFC3986中定义 问题描述: HTTP请求解析错误的进一步发生将记录在DEBUG级别  请求目标中找到无效字符,有效字符在RFC 7230和RFC3986中定义 问题原因: 前端请求一些特殊…

java.lang.IllegalArgumentException: 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义

org.apache.coyote.http11.Http11Processor.service 解析 HTTP 请求 header 错误注意:HTTP请求解析错误的进一步发生将记录在DEBUG级别。java.lang.IllegalArgumentException: 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义 错误分析:…

springboot项目访问接口报错:does not conform to RFC 7230 and has been ignored

加入配置类,完美解决 Configuration public class SolveRFC7230 {Beanpublic ConfigurableServletWebServerFactory webServerFactory() {TomcatServletWebServerFactory factory new TomcatServletWebServerFactory();factory.addConnectorCustomizers((TomcatCon…

有效解决The valid characters are defined in RFC 7230 and RFC 3986问题

今天项目做迁移,想换一个高一点版本的tomcat,就出现了问题,记录一下。 分析原因: 导致上述问题是因为tomcat自tomcat 8.0.35版本之后对URL参数做了比较规范的限制,必须遵循RFC 7230 and RFC 3986规范,对于…

The valid characters are defined in RFC 7230 and RFC 3986 解决方案

The valid characters are defined in RFC 7230 and RFC 3986 解决方案) 问题背景问题原因解决方案方案一方案二方案三 问题背景 Java在做接口的时候,接口测试经常使用postman进行测试,在测试的时候,就会经常出现如下的问题 jav…

Java后台报错:The valid characters are defined in RFC 7230 and RFC 3986

TOMCAT报错:The valid characters are defined in RFC 7230 and RFC 3986 异常背景异常描述问题分析处理过程解决方案处理结果 异常背景 由于公司之前的商城业务是依托第三方的服务,最近技术部门获取到了这一部分代码。由于公司内部的技术架构是spring Cloudk8s体系…

The valid characters are defined in RFC 7230 and RFC 3986 错误

今天部署环境,tomcat突然报这个错误,接口返回400。 网上查了下,大概原因是: 在tomcat 8.0.35之后 ,tomcat对url的参数做了比较规范的限制,必须按照RFC 7230 and RFC 3986规范,对于非保留字字符&#xff0c…