Soy bastante nuevo en Java y encontré este problema. Intenté buscar pero nunca obtuve una respuesta correcta.URISyntaxException - Cómo tratar con las URL con%
que tienen una cadena, por ejemplo
String name = anything 10%-20% 04-03-07
Ahora necesito para construir una cadena de URL con el nombre de cuerda, como a continuación.
http://something.com/test/anything 10%-20% 04-03-07
intenté sustituir los espacios por% 20 y ahora estoy recibiendo la nueva URL como
http://something.com/test/anything%2010%-20%%2004-03-07
Cuando utilizo esta url y el fuego que en Firefox simplemente funciona bien, pero mientras que el procesamiento en Java aparentemente está lanzando
Exception in thread "main" java.lang.IllegalArgumentException
at java.net.URI.create(Unknown Source)
at org.apache.http.client.methods.HttpGet.<init>(HttpGet.java:69)
Caused by: java.net.URISyntaxException: Malformed escape pair at index 39 :
at java.net.URI$Parser.fail(Unknown Source)
at java.net.URI$Parser.scanEscape(Unknown Source)
at java.net.URI$Parser.scan(Unknown Source)
at java.net.URI$Parser.checkChars(Unknown Source)
at java.net.URI$Parser.parseHierarchical(Unknown Source)
at java.net.URI$Parser.parse(Unknown Source)
at java.net.URI.<init>(Unknown Source)
... 6 more
Esto es tirar el código de error
HttpClient httpclient = new DefaultHttpClient();
HttpGet httpget = new HttpGet(url);
HttpResponse response = httpclient.execute(httpget);
Gracias que funciona perfectamente. Intentaba escapar de eso. No pensé desde una perspectiva de reemplazo. – Vish