2008-10-20 15 views
39

Necesito hacer algunas manipulaciones de URL muy simples en Java. Como obtener el valor para un parámetro en la consulta, o actualizarlo, ... esperaba encontrar una clase de utilidad simple haciendo eso en el paquete commons-lang, pero no. Sé que es un problema simple, pero si ya hay algo escrito, ¿por qué hacerlo de nuevo? Sabes de alguno ?Una buena biblioteca para hacer manipulación de cadena de consulta de URL en Java

me gustaría tener al menos las siguientes capacidades:

String myUrl = "http://www.example.com/test.html?toto=1&titi=2"; 

// get the value of a parameter 
String parameterValue = UrlUtils.getParameterValue(myUrl, "toto"); 
Assert.equals(parameterValue, "1"); 

// update a parameter 
String newUrl = UrlUtils.updateParameter(myUrl, "toto", 3); 
parameterValue = UrlUtils.getParameterValue(myUrl, "toto"); 
Assert.equals(parameterValue, "3"); 

Idealmente, sería hacerse cargo de todas las cuestiones relacionadas con la codificación, y trabajar con java.net.URL así como con cadenas.

Gracias por su ayuda!

+2

1 de Toto. Y para que la pregunta sea relevante cinco años después de la pregunta. Suspiro. – user

+0

Consulte la solución aquí: http://stackoverflow.com/a/37744000/1882064 – arcseldon

Respuesta

6

Creo que lo que quiere que se llama un analizador de cadena de consulta en lugar de un manipulador URL y aquí está uno: http://ostermiller.org/utils/CGIParser.java.html

+1

Desafortunadamente, esa lib parece no permitir valores nulos. Estas pueden ser dos consultas distintas en algunas aplicaciones: '? Foo' y'? Foo = '. – phyzome

+0

Compruebe esta solución, ya que creo que es quizás una biblioteca más convencional y hace lo que el OP preguntó: http://stackoverflow.com/a/37744000/1882064 – arcseldon

Cuestiones relacionadas