springboot 内置默认启动tomcat容器遇到The valid characters are defined in RFC 7230 and RFC 3986”

URL:

http://127.0.0.1:8081/test?urlcount=2&countcname1=参数名1&countname1=参数1&countcname2=参数名2&countname2=参数2

后台模拟post请求时路径报错:

The valid characters are defined in RFC 7230 and RFC 3986”

原因是因为url中含有中文.

直接进行中文转义:

URLEncoder.encode(参数名1,"utf-8")

URLEncoder.encode(参数1,"utf-8")

转义后为:

http://127.0.0.1:8081/test?urlcount=2&countcname1=%E5%90%8D%E7%A7%B01&countname1=%E5%8F%82%E6%95%B01&countcname2=%E5%90%8D%E7%A7%B02&countname2=%E5%8F%82%E6%95%B02

模拟正常.

原文地址:https://www.cnblogs.com/xy888/p/9269743.html

时间: 2024-10-24 20:38:13

springboot 内置默认启动tomcat容器遇到The valid characters are defined in RFC 7230 and RFC 3986”的相关文章

Springboot 内置定时器的使用

定时器又叫定时任务.计划任务,在项目开发中使用比较普遍,它能够定时执行规定的任务,例如:订单到期处理.会员到期处理.数据报表生成等 Springboot内置的定时任务  默认是单线程,使用非常方便,使用时要在Application中设置启用定时任务功能@EnableScheduling,代码如下: 1.启用定时任务功能 @SpringBootApplication @EnableScheduling @MapperScan("main.blog.mapper") public clas

SpringBoot内置的各种Starter是怎样构建的?--SpringBoot源码(六)

注:该源码分析对应SpringBoot版本为2.1.0.RELEASE 1 温故而知新 本篇接 外部配置属性值是如何被绑定到XxxProperties类属性上的?--SpringBoot源码(五) 温故而知新,我们来简单回顾一下上篇的内容,上一篇我们分析了SpringBoot外部配置属性值是如何被绑定到XxxProperties类属性上的相关源码,现将外部属性绑定的重要步骤总结如下: 首先是@EnableConfigurationProperties注解import了EnableConfigur

Tomcat 8 Invalid character found in the request target. The valid characters are defined in RFC 3986

终极解决方案: Invalid character found in the request target. The valid characters are defined in RFC 3986 25-Aug-2018 11:27:27.086 信息 [http-nio-8087-exec-5] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request header Note: further oc

SpringBoot内置tomcat启动原理

前言 ? ? ? ? ?不得不说SpringBoot的开发者是在为大众程序猿谋福利,把大家都惯成了懒汉,xml不配置了,连tomcat也懒的配置了,典型的一键启动系统,那么tomcat在springboot是怎么启动的呢?? 内置tomcat ? ? ? ? ?开发阶段对我们来说使用内置的tomcat是非常够用了,当然也可以使用jetty. <dependency> <groupId>org.springframework.boot</groupId> <arti

idea中springboot内置tomcat控制台中文乱码解决

在使用idea的时候,在springboot中使用内置的tomcat控制台中中文乱码,这个问题困扰我好长时间了,今天终于解决了 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <ex

docker(3):配置rancher网络环境,下载启动tomcat容器

1,关于rancher 上次搭建好了rancher的环境但是网络啥的没有配置好. 没有成功创建容器.这次搞定了,原来是网络的问题. 之前virtualbox安装的coreos没有配置ip,造成网络访问不到. agent没有注册成功,没有主机环境,创建不了docker应用 . 2,配置网络 如果没有配置virtualbox的网络环境的时候,网络是nat的环境,这个时候只要将主见设置成 10.0.2.15 即可. 这个是virtualbox分配的nat的ip,但是这个网络是不能和外接通讯的. 只能使

springboot内置tomcat配置虚拟路径

在Springboot中默认的静态资源路径有:classpath:/METAINF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,从这里可以看出这里的静态资源路径都是在classpath中(也就是在项目路径下指定的这几个文件夹) 试想这样一种情况:一个网站有文件上传文件的功能,如果被上传的文件放在上述的那些文件夹中会有怎样的后果? 网站数据与程序代码不能有效分离: 当项目被打包成一个.jar文件部署时

SpringBoot内置Tomcat缓存文件目录被意外删除导致异常

在项目中,一般会将文件临时保存到缓存目录 当时使用 File.createTempFile("tmp", ext, (File) request.getServletContext().getAttribute(ServletContext.TEMPDIR)) 创建临时文件时,项目一直运行正常,然而有一次报异常: org.springframework.web.multipart.MultipartException: Could not parse multipart servlet

内置默认方法汇总

isinstance() 函数带两个参数第一个传入参数,第二个是传入的参数类型判断如: def add(num1=10,num2=15): if isinstance(num1,int) and isinstance(num2,int): return (num1+num2) else: return ("error") print(add('a','b'))