2008-10-20 7 views
39

J'ai besoin de faire quelques manipulations d'URL très simples en Java. Comme obtenir la valeur d'un paramètre dans la requête, ou la mettre à jour, ... Je m'attendais à trouver une classe d'utilité simple faisant cela dans le paquetage commun-lang, mais non. Je sais que c'est un problème simple, mais s'il y a déjà quelque chose d'écrit, pourquoi le refaire? En connaissez-vous?Une bonne bibliothèque pour faire des manipulations de chaîne de requête URL en Java

Je voudrais avoir au moins les fonctionnalités suivantes:

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"); 

Idéalement, il prendrait soin de tous les problèmes de codage liés, et de travailler avec java.net.URL ainsi qu'avec des chaînes.

Merci pour votre aide!

+2

+1 pour Toto. Et pour la question d'être pertinente cinq ans après demandé. Soupir. – user

+0

S'il vous plaît voir la solution ici: http://stackoverflow.com/a/37744000/1882064 – arcseldon

Répondre

6

Je pense que ce que vous voulez que l'on appelle un analyseur de chaîne de requête au lieu d'un manipulateur url et voici un: http://ostermiller.org/utils/CGIParser.java.html

+1

Malheureusement, ce lib semble interdire les valeurs nulles. Il peut s'agir de deux requêtes distinctes dans certaines applications: '? Foo' et'? Foo = '. – phyzome

+0

S'il vous plaît vérifier cette solution car je crois que c'est peut-être une bibliothèque plus mainstream et fait ce que le PO a demandé: http://stackoverflow.com/a/37744000/1882064 – arcseldon

Questions connexes