這裏的錯誤,當我嘗試發送與URL的GET請求在我的Java web應用程序:我的本地機器的URL看起來像這樣http://localhost:8080/test?param1=1|2¶m2=3343434如何讓Apache Tomcat 8.0.41允許URL GET請求中的管道字符?
2017年2月20日下午四點51分19秒組織。 apache.coyote.http11.AbstractHttp11Processor過程 INFO:錯誤解析HTTP請求頭 注:HTTP報頭解析錯誤的再次發生將在DEBUG級別被記錄。 java.lang.IllegalArgumentException:在請求目標中找到無效的字符。有效字符在org.apache.coyote.http11.AbstractNioInputBuffer.parseRequestLine(AbstractNioInputBuffer.java:283) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1017)中的RFC 7230和RFC 3986 中定義) at org.apache.coyote.AbstractProtocol $ AbstractConnectionHandler.process(AbstractProtocol.java:684) at org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun(NioEndpoint.java:1524) at org.apache .tomcat.util.net.NioEndpoint $ SocketProcessor.run(NioEndpoint.java:1480) 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(TaskTh read.java:61) 在java.lang.Thread.run(來源不明)
我想問的是有可能解決這個問題不改變的Apache Tomcat版本或更改我的現有代碼。我想知道Apache Tomcat配置文件是否能夠禁用或繞過此檢查?
一個IllegalArgumentException是不崩潰,而是合理的拒絕無效數據。請參閱多米尼克答案。 – Seven
@七:我編輯了回覆,以便像瑞士原子鐘一樣精確。 –