Je suis en train d'utiliser Tomcat 8. Dans un cas, j'ai besoin de gérer une demande externe en provenance d'une source externe où la demande comporte des paramètres séparés par |
.
La demande ressemble à ceci :
http://localhost:8080/app/handleResponse?msg=name|id|
Dans ce cas, je reçois l'erreur suivante.
java.lang.IllegalArgumentException: Caractère invalide trouvé dans la cible de la demande. Les caractères valides sont définis dans les RFC 7230 et 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)
ÉDITION 1
Cela fonctionne avec Apache Tomcat 8.0.30 mais pas avec Tomcat 8.5
5 votes
D'accord, je suppose que vous devrez l'échapper
0 votes
Avez-vous consulté le RFC référencé?
0 votes
Les RFC sont censées être améliorées.