异常信息

java.lang.IllegalArgumentException: 在请求目标中找到无效字符[/order/show?orderType=01&orderTitle=0xe50x8f0xa30xe50xb20xb80xe50x8a0xa80xe60x800x81&pageNum=1 ]。有效字符在RFC 7230RFC 3986中定义org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:497)org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:492)org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:934)org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1698)org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)java.lang.Thread.run(Thread.java:748)

异常分析

这个错误通常出现在Tomcat服务器处理HTTP请求时,当请求URL或参数中包含不符合RFC 7230和RFC 3986规范的字符时抛出。主要问题原因有:

1、请求中包含未编码的中文字符

2、URL参数包含特殊符号(如[]{}等)

3、高版本Tomcat(8.5+)对URL字符校验更严格

本次异常就是因为URL中的orderTitle参数包含未编码的中文字符导致的。

解决办法

方案1

1、在tomcat安装路径中conf/catalina.properties文件中最后添加如下一行:

tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}[],%

tomcat.util.http.parser.HttpParser.requestTargetAllow 是Tomcat高版本(8.5+)中用于放宽HTTP请求目标字符限制的关键配置参数,主要作用是允许特定特殊字符通过校验和解决Invalid character found in request target错误。默认情况下,Tomcat会严格遵循RFC 7230和RFC 3986规范,拒绝包含{}[]|\等特殊字符的请求。通过该参数可显式声明允许的字符集。

有的博客还建议加上org.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true配置配合使用,该配置用于控制URL编码斜杠处理行为的关键系统属性。当设置为true时,Tomcat会允许URL中包含%2F(/的编码形式)和%5C(\的编码形式)的请求通过校验,默认情况下Tomcat会拒绝此类请求并返回400错误。而%2F容易导致安全性问题,所以建议保持默认不要开启。

2、在tomcat安装路径中conf/server.xml中的Connector节点中添加relaxedPathChars属性和relaxedQueryChars属性放宽URL字符校验:

<Connector relaxedPathChars="|{}[],%" relaxedQueryChars="|{}[],%"URIEncoding="UTF-8"/>

添加的2个属性用来接收任意特殊字符的组合,特殊符号包括但不限于:|{}[],%等。

relaxedPathChars‌用于指定URL路径部分(/path/to/resource)允许的特殊字符集,默认仅支持RFC规范的安全字符。通过配置可允许{}[]|等符号出现在路径中。

relaxedQueryChars‌用于控制查询字符串(?key=value&…)中的合法字符范围,常用于处理JSON参数或含特殊符号的GET请求。

注意:过度放宽字符限制可能引发安全攻击,建议仅对必要字符放行。

方案2

1、对URL中的中文参数进行编码后再传参。编码String encodedOrderTitle = URLEncoder.encode(orderTitle, “UTF-8”);解码java.net.URLDecoder.decode(encodedOrderTitle,“UTF-8”);

2、在tomcat安装路径中conf/server.xml中的Connector节点中增加URIEncoding=“UTF-8”。强制Tomcat在处理GET请求的URL参数(路径和查询字符串)时使用UTF-8解码,解决中文等非ASCII字符的乱码问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/95248.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/95248.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/95248.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTTPS的应用层协议

HTTPS的应用层协议 方案 5 - 非对称加密 对称加密 证书认证 在客户端和服务器刚一建⽴连接的时候, 服务器给客户端返回一个 证书&#xff0c;证书包含了之前服务端的公钥, 也包含了网站的身份信息. 客户端进行认证 当客户端获取到这个证书之后, 会对证书进行校验(防止证书是伪…

【SpringBoot】05 容器功能 - SpringBoot底层注解的应用与实战 - @Configuration + @Bean

文章目录前言一、创建两个组件二、使用传统方式源代码解释三、使用SpringBoot方法源代码解释四、查看是否添加到组件中查看自定义组件名配置类在容器中注册的是单实例组件配置类本身也是容器中的一个组件Configuration的proxyBeanMethods属性&#xff1a;代理bean的方法proxyBe…

c#联合Halcon进行OCR字符识别(含halcon-25.05 百度网盘)

1.下载安装halcon 通过网盘分享的文件&#xff1a;halcon-25.05.0.0-x64-win64 链接: https://pan.baidu.com/s/1XAx-8ZQM-ZHkgHIc-dhCYw 提取码: whek 2.c#环境配置 创建test_halcon_ocr项目 找到halcon的安装路径 我的&#xff1a; D:\halcon\HALCON-25.05-Progress\bin\x64…

丝杆支撑座怎样助力升降设备实现智能化?

丝杆支撑座作为传动系统中的关键支撑部件&#xff0c;凭借其高刚性、抗冲击及精准定位能力&#xff0c;广泛应用于重型机械与升降设备领域&#xff0c;为设备提供稳定可靠的轴向承载与径向支撑&#xff0c;确保高负荷工况下的安全运行。电梯 / 升降平台&#xff1a;液压电梯的辅…

Notta:高效智能的音频转文字工具

本文转载自&#xff1a;Notta&#xff1a;高效智能的音频转文字工具 - Hello123 ** 一、产品简介 Notta 是一款基于 AI 语音识别引擎的语音转文字工具&#xff0c;支持 58 种语言的转录和 42 种语言的翻译。用户可通过实时录音或上传音频 / 视频文件&#xff08;如 MP3、WAV …

Docker私有仓库创建及Docky存储与网络配置(小白的“升级打怪”成长之路)

目录 一、Docker私有仓库创建 1、在一台安装Docker私有仓库的主机上添加docker-compose 命令 2、安装docker-ce服务 3、Docker 镜像加速 4、安装Harbor仓库 5、使用脚本安装仓库 6、网站登陆 7、客户端使用Harbor仓库 二、Docky存储与网络配置 1、存储与网络 挂载主机…

谷歌ADK接入文件操作MCP

文章目录MCP基础概念文件操作服务器文件操作MCP接入谷歌ADK项目创建多轮对话代码MCP基础概念 MCP技术体系中&#xff0c;会将外部工具运行脚本称作服务器&#xff0c;而接入这些外部工具的大模型运行环境称作客户端。 一个客户端可以接入多个不同类型的服务器&#xff0c;但都…

高光谱技术的独特优势

高光谱技术凭借其‌纳米级连续光谱采集能力‌和‌图谱合一的探测模式‌&#xff0c;在多个领域展现出不可替代的独特优势&#xff1a;一、光谱维度&#xff1a;精细物质指纹识别‌纳米级连续光谱解析‌ 通过 ‌5-10nm带宽的数百个连续波段‌&#xff08;最高330个通道&#xff…

基于Vue+Element UI集成高德地图的完整实践指南

本次开发使用deepseek 简直如虎添翼得心应手 生成模拟数据、解决报错那真是嘎嘎地 在 Vue Element UI 项目中引入高德地图 具体实现步骤&#xff1a; 高德开放平台&#xff1a;注册账号 → 进入控制台 → 创建应用 → 获取 Web端(JS API)的Key https://lbs.amap.com/ 这里需要…

Day50--图论--98. 所有可达路径(卡码网),797. 所有可能的路径

Day50–图论–98. 所有可达路径&#xff08;卡码网&#xff09;&#xff0c;797. 所有可能的路径 刷今天的内容之前&#xff0c;要先去《代码随想录》网站&#xff0c;先看完&#xff1a;图论理论基础和深度优先搜索理论基础。做完之后可以看题解。有余力&#xff0c;把广度优先…

Python 异常捕获

一、获取未知错误try:# 相关处理逻辑 异常后面输出print(输入信息……) except Exception as e:print(未知错误,e)二、获取已知错误except 错误单词&#xff08;来源于错误信息的第一个单词&#xff09;多个已知错误使用 except XXXXX:try:# 相关处理逻辑 异常后面输出print…

RIOT、RT-Thread 和 FreeRTOS 是三种主流的实时操作系统

RIOT、RT-Thread 和 FreeRTOS 是三种主流的实时操作系统&#xff08;RTOS&#xff09;&#xff0c;专为嵌入式系统和物联网&#xff08;IoT&#xff09;设备设计。它们在架构、功能、生态和应用场景上有显著差异&#xff0c;以下是详细对比&#xff1a;1. 架构与设计理念特性RI…

【FAQ】Win11创建资源不足绕开微软账号登录

Win11安装资源限制 因为 Windows 11 有两项强制检测 VMware 8 默认没提供&#xff1a; TPM 2.0&#xff08;可信平台模块&#xff09;Secure Boot&#xff08;安全启动&#xff09; 一步到位解决办法&#xff08;官方兼容方式&#xff09; 关闭虚拟机电源编辑虚拟机设置 选项 →…

Docker使用----(安装_Windows版)

一、Docker Docker 镜像就像是一个软件包&#xff0c;里面包括了应用程序的代码、运行所需的库和工具、配置文件等等&#xff0c;所有这些都打包在一起&#xff0c;以确保应用程序在不同的计算机上运行时&#xff0c;都能保持一致性。 可以把 Docker 镜像想象成一个软件安装文件…

91、23种经典设计模式

设计模式是软件设计中反复出现的解决方案的模板&#xff0c;用于解决特定问题并提高代码的可维护性、可扩展性和可复用性。23种经典设计模式可分为创建型、结构型和行为型三大类&#xff0c;以下是具体分类及模式概述&#xff1a; 一、创建型模式&#xff08;5种&#xff09; 关…

Illustrator总监级AI魔法:一键让低清logo变矢量高清,彻底告别手动描摹!

在海外从事设计十几年&#xff0c;我敢说&#xff0c;每个设计师都经历过一种“史诗级”的折磨&#xff1a;客户发来一个像素低得感人、边缘模糊不清的JPG格式Logo&#xff0c;然后要求你把它用在巨幅海报或者高清视频上。这意味着什么&#xff1f;意味着我们要打开Illustrator…

各种 dp 刷题下

6.#8518 杰瑞征途 / 洛谷 P4072 征途 题意 Pine 开始了从 SSS 地到 TTT 地的征途。从 SSS 地到 TTT 地的路可以划分成 nnn 段&#xff0c;相邻两段路的分界点设有休息站。Pine 计划用 mmm 天到达 TTT 地。除第 mmm 天外&#xff0c;每一天晚上 Pine 都必须在休息站过夜。所以…

本地WSL部署接入 whisper + ollama qwen3:14b 总结字幕增加利用 Whisper 分段信息,全新 Prompt功能

1. 实现功能 M4-3: 智能后处理 - 停顿感知增强版 (终极版) 本脚本是 M4-3 的重大升级&#xff0c;引入了“停顿感知”能力&#xff1a; 利用 Whisper 分段信息: 将 Whisper 的 segments 间的自然停顿作为强信号 ([P]) 提供给 LLM。全新 Prompt: 设计了专门的 Prompt&#xff0c…

微算法科技(NASDAQ:MLGO)开发经典增强量子优化算法(CBQOA):开创组合优化新时代

近年来&#xff0c;量子计算在组合优化领域的应用日益受到关注&#xff0c;各类量子优化算法层出不穷。然而&#xff0c;由于现阶段量子硬件的局限性&#xff0c;如何充分利用已有的经典计算能力来增强量子优化算法的表现&#xff0c;成为当前研究的重要方向。基于此&#xff0…

功能、延迟、部署、成本全解析:本地化音视频 SDK 对比 云端方案

引言 在构建实时音视频系统时&#xff0c;技术选型往往决定了项目的天花板。开发者面临的第一个关键抉择&#xff0c;就是是选择完全可控的本地化音视频内核&#xff0c;还是依赖云厂商的实时音视频服务。 以大牛直播SDK&#xff08;SmartMediaKit&#xff09;为代表的本地部…