首页 > 编程语言 >java.lang.IllegalArgumentException: Invalid character found in the request target. The valid charact

java.lang.IllegalArgumentException: Invalid character found in the request target. The valid charact

时间:2022-11-24 11:38:32浏览次数:73  
标签:lang java target tomcat util coyote apache org


摘要:文件下载时,出现如下异常信息:

2020-08-24 16:18:35:136 Error parsing HTTP request header
Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. [org.apache.coyote.http11.Http11Processor:175]-[INFO]
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:488)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:260)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1594)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
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:748)
2020-08-24 16:18:35:468 Weight adjusting job started [com.netflix.loadbalancer.WeightedResponseTimeRule:248]-[INFO]

问题分析

根据:​​https://tomcat.apache.org/tomcat-8.5-doc/config/systemprops.html​​ requestTargetAllow已弃用。 对我来说,这里介绍的其他解决方案也不起作用。 根据Tomcat文档,我找到了一种设置属性RelaxedQueryChars的方法:

解决办法

@Bean
public ConfigurableServletWebServerFactory webServerFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory();
factory.addConnectorCustomizers(new TomcatConnectorCustomizer() {
@Override
public void customize(Connector connector) {
connector.setProperty("relaxedQueryChars", "|{}[]");
}
});
return factory;
}


标签:lang,java,target,tomcat,util,coyote,apache,org
From: https://blog.51cto.com/u_4679008/5882953

相关文章

  • 易语言toJava 集合类
    易语言toJava集合类.版本2.程序集集合Map类,,公开,不允许键存在.程序集变量mContentValueMap,Map,,"0".程序集变量mSplit,文本型,,,&分割符.程序集变量mK......
  • 力扣81(java&python)-搜索旋转排序数组 II(中等)
    题目:已知存在一个按非降序排列的整数数组nums,数组中的值不必互不相同。在传递给函数之前,nums在预先未知的某个下标k(0<=k<nums.length)上进行了旋转,使数组变为[......
  • Java重点 | 抽象
    抽象抽象的概念抽象方法和抽象类的格式抽象方法:就是加上abstract关键字,然后去掉大括号,直接分号结束。抽象类:抽象方法所在的类,必须是抽象类才行。在class之前写上abs......
  • Spring-纯Java创建一个SSM【webapp】
    纯Java搭建webappQuickStart使用纯Java来搭建一个SSM环境,即在项目中,不存在任何XML配置,包括web.xml1创建一个Maven工程引入依赖<!--TODO【Java创建SSM】1......
  • Java中的集合实现赌神、赌圣、赌侠斗地主
    ♣准备牌代码如下://定义一个存储54张牌的ArrayList集合,泛型使用StringArrayList<String>poker=newArrayList<>();//定义两个数组,一个数组存储牌的花色,一个数组存......
  • 在JavaScript中使用filter()的4个实用案例
    英文| https://medium.com/javascript-in-plain-english/4-practical-use-cases-of-using-filter-in-javascript-db46e2ec83b2翻译|web前端开发创建一个包含给定数组元......
  • 9 个功能强大的 JavaScript 技巧
    英文|https://dev.to/razgandeanu/9-extremely-powerful-javascript-hacks-4g3p​1、全部替换我们知道string.replace() 函数仅替换第一次出现的情况。你可以通过在正则......
  • Java帝国的诞生、Java的特性、Java的版本
    Java帝国的诞生C&C++1972年C诞生贴近硬件、运行极快、效率极高操作系统,编译器,数据库,网络系统等指针和内存管理1982年C++诞生面向对象兼容C图形领域、游戏等J......
  • 【Hibernate框架开发之八】Hibernate 查询语言Query Language(HQL)
    本站文章均为​​ 李华明Himi ​​​原创,​​​​​  生成一条HQL查询语句 Query, 使用Session的createQuery(“hql语句”)生成QueryHQL语句:1.“fromclassName......
  • java基于RSA生成公钥和私钥进行加密解密程序
    importsun.misc.BASE64Decoder;importsun.misc.BASE64Encoder;importjava.security.interfaces.RSAPrivateKey;importjava.security.interfaces.RSAPublicKey;importj......