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

news/2024/11/29 18:26:24/

今天项目做迁移,想换一个高一点版本的tomcat,就出现了问题,记录一下。

分析原因:
导致上述问题是因为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错误信息。

可以有三种方法解决:

方法一:将json数据进行urlencode编码;
方法二:降低tomcat版本;
方法三:配置tomcat/conf下的catalina.properties

将tomcat.util.http.parser.HttpParser.requestTargetAllow=|修改为
tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}

在这里插入图片描述
建议:有时候项目已经运行很久了,如果贸然修改代码,或者降低tomcat的版本,或造成很大的问题或者测试工作量,所以建议使用方法三,从tomcat的层面解决问题。


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

相关文章

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…

解决tomcat RFC 7230 and RFC 3986异常

异常原因:url参数里面有特殊字符 Message Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986Description The server cannot or will not process the request due to something that is perceived to be…

tomcat 请求出现RFC 7230 and RFC3986的错误

问题出现: tomcat由7.0.65升级到7.0.104后出现该问题 java.lang.IllegalArgumentException:在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义 原因分析: 日志显示请求地址中包含不合法字符,出现400错误 tomcat高…

The valid characters are defined in RFC 7230 and RFC 3986 各版本tomcat解决办法

首先出现这个问题是原因高版本的tomcat会严格按照对RFC 3986规范进行访问解析。 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4种特殊字符以及所有保留字符(RFC3986中指定了以下字符为保留字符&#xff…

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

问题: 发生场景: Tomcat 从 7.0.57 升级到 8.5.65 之后, 应用程序访问出现。请求URL地址中包含了JSON格式的参数。原因及解析: 请求地址包含了无效字符, 有效字符的定义是在 RFC 7230 和RFC 3986中定义的。 RFC 3986 规定, URL 只允许包含字母,数字以及四个特殊字符(-…

解决 在请求目标中找到无效字符。有效字符在RFC 7230和RFC 3986中定义 的问题

前言 本人博客园:https://www.cnblogs.com/lzj523/ 本文博客园原文章:https://www.cnblogs.com/lzj523/p/14283076.html 今天因解决漏洞而更新了Tomcat,运行网站就报错 类型 异常报告 消息 在请求目标中找到无效字符。有效字符在RFC 7230…