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

news/2024/11/29 18:25:54/

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

    • 问题背景
    • 问题原因
    • 解决方案
      • 方案一
      • 方案二
      • 方案三

问题背景

Java在做接口的时候,接口测试经常使用postman进行测试,在测试的时候,就会经常出现如下的问题

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986at org.apache.coyote.http11.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:192)at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1028)at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:745)

在这里插入图片描述
在postman中的请求如下
在这里插入图片描述

问题原因

出现这类问题的原因是因为这个请求参数在中存在特殊的符号导致的,上面的案例中的{}就是特殊的字符,解决完这个特殊符合的问题之后这个问题就能解决了

解决方案

方案一

使用postman的时候,不是用param传递参数,修改使用body的form-data传输
在这里插入图片描述
此时在地址栏就没有这一堆参数了,可以对比第一幅图看出,这样请求的状态就是200了,问题解决,
如果提示参数找不到,就是用 x-www-form-urlencoded即可

方案二

测试的时候使用java代码测试,可以直接使用main方法,然后把这些字符串转义成字符串即可

方案三

开发的时候传递参数直接使用json在body中传输参数


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

相关文章

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…

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

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