Tôi đang sử dụng Tomcat 8. Trong một trường hợp, tôi cần xử lý yêu cầu bên ngoài đến từ nguồn bên ngoài trong đó yêu cầu có thông số được phân tách bằng |
.Tomcat 8 không thể xử lý yêu cầu với '|' trong các tham số truy vấn?
Yêu cầu là trông như thế này:
http://localhost:8080/app/handleResponse?msg=name|id|
Trong trường hợp này tôi nhận được lỗi sau.
java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
at org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:467)
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:789)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455)
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)
EDIT 1
Nó hoạt động với Apache Tomcat 8.0.30 nhưng không phải với Tomcat 8,5
OK, tôi đoán bạn sẽ phải thoát khỏi nó –
Bạn đã mất một cái nhìn vào RFC được tham chiếu? – clemens