首页 > 解决方案 > 在方法名称中发现无效字符。HTTP 方法名称必须是标记

问题描述

在向我的容器化 Spring Boot 应用程序发出带有 cookie 标头的 http GET 请求时,我遇到以下错误,这是因为解析 cookie 标头时出现问题

java.lang.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokens
    at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:422)
    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:1457)
    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)

在我的 ubuntu 机器上通过 Postman 发出这个请求时,它可以工作。但是,当我同事的任何 Windows 机器的邮递员调用它时,它会抛出错误

我已经解决了十几个与此相关的问题,而 https 不是我的原因。我知道 cookie 以某种方式在他们的机器中被编码,服务器正在读取它,从而在解析时抛出错误

有人可以解释这个错误的原因吗?

PS:试图了解来源,但 GrepCode 已关闭 :(

标签: javacookieshttp-getillegalargumentexception

解决方案


推荐阅读