java - 有效字符在 RFC 7230 和 RFC 3986 中定义

标签 java tomcat8

我的程序在线抛出这个异常,我知道它出错的原因。
我的问题是如何找到错误的地方,Java 无法捕获此异常的位置。
如何获取有关此异常的其他信息,例如此错误的 API 请求地址。

错误信息如下:

2019-01-18  07:49:23.076 [http-nio-127.0.0.1-8081-exec-96] INFO  org.apache.coyote.http11.Http11Processor - Error parsing HTTP request header
 Note: further occurrences of HTTP header parsing errors will be logged at DEBUG level.
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:484)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:684)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:800)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1471)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

最佳答案

如果您使用 Tomcat 8.5 的更高版本,如果 URL 路径包含“[”和“]”,则会引发此异常。对于旧版本,它有效。

关于java - 有效字符在 RFC 7230 和 RFC 3986 中定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54287922/

相关文章:

java.lang.ClassNotFoundException 太阳.misc.GC

java - 对基于 tomcat Web 应用程序的用户角色的只读访问

java - Tangosol Coherence 可以缓存不可序列化的对象吗?

java - 如何在主线程仍在运行时使用线程运行另一个 JFrame

java - Spring Boot - 如何检查特定应用程序 URL 的状态 200

java - 使用 Shiro 和 Spring WebMVC(Java8、Spring 4.x)从 WebApp 注销所有仍登录的用户

java - java中main(String[] args)方法是预定义的还是用户定义的

java - Android Studio 中的动态 ListView : Selecting random element and update list view

java - Tomcat - 如何使用 PersistentManager + FileStore 将 session 立即保存到磁盘

java - Tomcat启动时的触发函数