78 votes

Comment encoder l'URL dans Groovy ?

Y a-t-il une sorte d'URLEncode à Groovy ?

Je ne trouve aucun utilitaire d'encodage d'URL String String.

Exemple : dehydrogenase (NADP+) dehydrogenase%20(NADP%2b)

(+ au lieu de %20 serait également acceptable, comme certaines implémentations le font)

138voto

aiolos Points 4397

Vous pourriez utiliser java.net.URLEncoder.

Dans votre exemple ci-dessus, les parenthèses doivent également être encodées :

def toEncode = "dehydrogenase (NADP+)"
assert java.net.URLEncoder.encode(toEncode, "UTF-8") == "dehydrogenase+%28NADP%2B%29"

Vous pouvez également ajouter une méthode à la métaclasse de string :

String.metaClass.encodeURL = {
   java.net.URLEncoder.encode(delegate, "UTF-8")
}

Et appel simple encodeURL() sur n'importe quelle chaîne :

def toEncode = "dehydrogenase (NADP+)"
assert toEncode.encodeURL() == "dehydrogenase+%28NADP%2B%29"  

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X