【问题标题】:How to fix this Error parsing HTTP request header? And at which point its occurring?如何解决此错误解析 HTTP 请求标头?它发生在什么时候?
【发布时间】:2020-03-07 01:55:11
【问题描述】:

这是我收到的错误:

 INFO: 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.InternalInputBuffer.parseRequestLine(InternalInputBuffer.java:139)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1028)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

如何解决这个错误解析 HTTP 请求标头?它发生在什么时候?

【问题讨论】:

  • 您能否添加一些示例代码,说明您如何进行调用并尝试解析 api 响应中的标头?也许您可以看看这个 - stackoverflow.com/questions/42218237/…
  • 客户端似乎发送非法字符,而不是像 GET、POST 等
  • 谢谢,现在有了解决这个问题的想法。 - soumitra goswami

标签: java parsing request header illegalargumentexception


【解决方案1】:

当您尝试在未启用 HTTPS 的端点上执行来自客户端的 HTTPS 请求时,可能会发生此异常。当服务器需要原始数据时,客户端将加密请求数据。

您正在使用http://localhost:8080/foo/bar 调用本地服务器。使用https://localhost:8080/foo/bar 调用它。这样就解决了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-09
    • 2014-12-17
    • 2023-04-09
    • 2021-09-24
    • 1970-01-01
    相关资源
    最近更新 更多