2013-07-15 9 views
5

gedreht wird I Versand von Scala bin mit wie folgt:Wie% passieren 2f java.net.URI, ohne sie in/

val body = """{"count":5,"requeue":true,"encoding":"auto","truncate":50000}""" 
val req = url("http://localhost:4567/api/queues/%2f/myQueue/get").as_!("guest", "guest") << (body, "application/json") 

val http = new Http 

val resp = http(req as_str) 

Die %2f in eine / gedreht wird, so dass es zu schreiben versucht zu /api/queues///myQueue/get anstatt zu /api/queues/%2f/myQueue/get.

Wie entkomme ich das richtig?

+2

Könnte dies ein ähnliches Problem sein? http://stackoverflow.com/questions/2765782/why-does-java-automatical-decode-2f-in-uri-ecoded-filenames –

Antwort

1

% zeichen wird in der URL-Codierung verwendet. Also wird% 2f in/decodiert. Probieren Sie es im Browser aus und Sie werden sehen.

Verwenden Sie% 25, ​​um% Vorzeichen darzustellen. z.B.

val req = url("http://localhost:4567/api/queues/%252f/myQueue/get") 
+0

Das wird in '/api/queues/%252f/cdm.mio/get verwandelt 'statt'/api/queues /% 2f/cdm.mio/get' :( – Blake

+1

Das ist interessant.% 2f wird entschlüsselt, aber% 25 nicht, beide sind gültig. –

Verwandte Themen