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

news/2024/11/29 18:46:18/

今天部署环境,tomcat突然报这个错误,接口返回400。

这里写图片描述

网上查了下,大概原因是:

在tomcat 8.0.35之后 ,tomcat对url的参数做了比较规范的限制,必须按照RFC 7230 and RFC 3986规范,对于非保留字字符,如果不做转义处理,一律都会报The valid characters are defined in RFC 7230 and RFC 3986 错误。

解决这个问题的办法有几个:

  1. 把非保留字字符做转义
  2. 就是使用保留字字符
  3. 要么就是换比较底一点的tomcat版本
  4. 将json数据进行urlencode编码就可以了 即把json中的{}编码

本人觉得解决问题最简单粗暴的方式就是使用第三种方法,当然,最好还是要按照规范来写,长远考虑的话.


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

相关文章

解决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…

解决 tomcat: the valid characters are defined in RFC 7230 and RFC 3986

文件下载功能,本地跑是正常的,部署到服务器后下载报错 大概意思为:在请求目标中找到无效字符,有效字符在RFC 7230和RFC 3986中定义。 就是说http请求的url中有非法字符,我请求的url中有?,\&…

spring boot 解决Tomcat 报 The valid characters are defined in RFC 7230 and RFC 3986 的问题

tomcat 8.0以后对请求URL做了严格的过滤 就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符(RFC3986中指定了以下字符为保…

The valid characters are defined in RFC 7230 and RFC 3986

今天发现一个问题&#xff0c;项目在我本地以及正式环境单机访问都是没有问题的&#xff0c;但是通过nginx统一访问&#xff0c;就会报如下错误&#xff1a;org.apache.tomcat.util.http.parser.HttpParser.<clinit> Character ["] is not allowed and will continu…