gpt4 book ai didi

spring-boot - 在 spring boot 中的请求目标中发现无效字符

转载 作者:行者123 更新时间:2023-12-03 12:34:50 24 4
gpt4 key购买 nike

我的应用程序以 java -jar 启动,版本为 1.5.6.RELEASE 的 spring boot。
我的请求之一的内容具有字符“{”。当它被发送到服务器时,会引发以下异常:

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:472) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:683) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) 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:745)



哪里错了?
我如何解决它?

编辑1:
我的休息是这样的:
var jsonData = {
id: $("#hiddenId").val(),
permitNumber: $("#txtPermitNumber").val(),
permitToDate: $("#txtPermitToDate").val()
}
document.location = restUrl + "/print?reportParams= " + JSON.stringify(jsonData);

最佳答案

根据 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;
}

关于spring-boot - 在 spring boot 中的请求目标中发现无效字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46251131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com