Подтвердить что ты не робот

При запуске spring загрузки, выкиньте исключение "имена методов должны быть tokens"

При запуске загрузки spring выкиньте исключение method names must be tokens

2016-08-11 16:53:54.499  INFO 14212 --- [0.1-8888-exec-1] o.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 method name. HTTP method names must be tokens
        at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:462) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4]
        at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:994) ~[tomcat-embed-core-8.5.4.jar!/:8.5.4]
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:785) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1425) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_72]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_72]
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-8.5.4.jar!/:8.5.4]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72]

2016-08-11 16:53:58.885  INFO 14212 --- [0.1-8888-exec-2] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring FrameworkServlet 'dispatcherServlet'
2016-08-11 16:53:58.888  INFO 14212 --- [0.1-8888-exec-2] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization started
2016-08-11 16:53:58.922  INFO 14212 --- [0.1-8888-exec-2] o.s.web.servlet.DispatcherServlet        : FrameworkServlet 'dispatcherServlet': initialization completed in 30 ms
[email protected]

Кто знает, зачем выбрасывать исключение Invalid character found in method name. HTTP method names must be tokens.

4b9b3361

Ответ 1

Это исключение может возникнуть при попытке выполнить запрос https от клиента на конечной точке, который не включен https. Клиент будет шифровать данные запроса, когда сервер ожидает необработанные данные.

Измените https://на http://на URL вашего клиента.

Ответ 2

Та же проблема.

cmd -> netstat -ano then find the port your have used(e.g 8888)

Я нахожу процесс попробовать отправить пакет не Http-запрос на мой порт 8888, поэтому tomcat выкинет method names must be tokens Exception.

вы можете:

  • изменить порт сервера;

  • найти процесс и убить его;

Ответ 3

Другой случай: SpringBoot и Tomcat по умолчанию используют порт 8080 или 8888. У меня одновременно работал Jupyter Notebook с токеном в URL-пути и некоторыми случайными символами. Во всяком случае: ноутбук все еще пытался делать запросы, когда сервер ноутбука Jupyter не работал.

Если вы столкнулись с этой ошибкой: проверьте, не запущено ли у вас другое приложение, которое порождает веб-сервер или общается с веб-сервером через такие порты.

Ответ 4

Попробуйте изменить URL-адрес с https на http.