当前位置: 首页 > 知识库问答 >
问题:

SpringBoot-解析HTTP请求头时出错

萧渝
2023-03-14

我正在运行SpringBoot应用程序,刚刚检查了服务器日志,并出现了几个类似的错误。我不明白是什么导致了它,因为错误每天都在12/24小时后出现。

2018-03-04 17:03:26 [http-nio-8080-exec-85] INFO  o.a.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 method name. HTTP method names must be tokens
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:421)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:667)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)
    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)

共有1个答案

虞俊美
2023-03-14

这可能是因为解析HTTPS头而不是HTTP。尝试:

  1. 将:
    logging.level.org.springframework.web:trace
    logging.level.org.apache:trace
    添加到您的应用程序。properties,看看Spring对您说了什么。
  2. 检查当时是否有任何调度的活动引用其他通过SSL加密的资源。另请参见:java.lang.IllegalArgumentException:在方法名中发现无效字符。HTTP方法名称必须是标记
 类似资料:
  • 当我试图从spring boot应用程序访问OAuth HTTPSendpoint时,我得到了以下错误,但HTTPendpoint工作得非常好 错误: 安全java配置 POM文件

  • 问题内容: 我正在处理HTTP流量数据集,该数据集由完整的POST和GET请求组成,如下所示。我已经用Java编写了代码,该代码已经分离了每个请求,并将其另存为数组列表中的字符串元素。 现在我很困惑如何在Java中解析这些原始HTTP请求,有什么方法比手动解析更好吗? 问题答案: 我[正在]处理[HTTP]流量数据集,该数据集由完整的POST和GET请求组成 因此,您想解析包含多个HTTP请求的文

  • 我正在研究HTTP流量数据集,它由完整的POST和GET请求组成,如下所示。我用java编写了代码,将每个请求分开,并将其保存为数组列表中的字符串元素。现在我很困惑如何在java中解析这些原始HTTP请求,有什么方法比手动解析更好吗?

  • 我在Springboot应用程序日志中发现了这样的错误消息: 我知道,这可能是因为有人/某个应用程序使用HTTPS而不是HTTP调用我的endpoint。我可以通过在属性中包含以下内容来记录这些请求: 现在,我收到了未分析的文本,如下所示: 是否可以对其进行解码/解密,并找出实际的API调用是什么?

  • AcceptHeaderLocaleResolver解析器会检查客户端(比如,浏览器,等)所发送的请求中是否携带accept-language请求头。通常,该请求头字段中包含了客户端操作系统的地区信息。不过请注意,该解析器不支持时区信息的解析。