Publié le 04/06/2010
Auteur fobec
Réseaux sociaux
0 partages
0 tweets
0 plus
0 commentaires

Encoder et decoder une url

Un lien Http contient des lettres spécifiques à une langue ou des caractères spécifiques. Dans ce cas, il est conseillé d'encoder l'URL avec JAVA pour uniformiser les caractères dans un langage commun. De plus, l'encodage des URL dans un formulaire JAVA réduit les risques d'attaques comme l'injection SQL par exemple.

Encoder une chaine de caractère

Pour assurer le maximum de compatibilité, l'encodage d'une url consiste à remplacer tous les caractères non alpha-numériques (hormis -_.) et les espace par des séquences commençant par un caractère pourcentage (%) et de deux chiffres hexadécimaux.

import java.io.UnsupportedEncodingException;
import java.util.logging.Level;
import java.util.logging.Logger;
 
/**
 * Encoder et decoder une url
 * http://www.fobec.com/java/918/encoder-decoder-une-url.html
 * @author fobec 2010
 */
public class TextEncoder {
 
    public static void main(String[] args) {
        try {
            String text = "En français: il a des caractères à encoder !!!";
            String charset = "UTF-8";
            //Encode le texte en UTF-8
            System.out.print(java.net.URLEncoder.encode(text, charset));
            //résultat: En+français:+il+a+des+caractères+à+encoder+!!!
 
            text = "En+français:+il+a+des+caractères+à+encoder+!!!";
            System.out.print(java.net.URLDecoder.decode(text, charset));
            //résultat: En français: il a des caractères à encoder !!!
 
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(TextEncoder.class.getName()).log(Level.SEVERE, null, ex);
        }        
    }
}

Java intègre la classe URLEncoder qui contient la fonction encode() pour encoder le String et la classe URLDecoder qui contient la fonction decode() pour décoder le String encodé.
Bref, les deux fonctions sont prêtes à l'emploi dans JAVA, n'hesitez pas à vous en servir pour encoder les URL et eviter les problèmes de charset par exemple.

Ajouter un commentaire

Les champs marqués d'un * sont obligatoires, les adresses emails se sont pas publiées.

A lire aussi

Réseaux sociaux
Présentation de l'article
Catégorie
java - sources
Mise a jour
04/06/2010
Visualisation
vu 3093 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par amelia dans java

pour 30 sa donne 1346269

Publié par max dans java

est que ce framework fonctionne pour une application web ?

Publié par Yannick dans tuto

Sur un de mes sites j'ai vraiment du mal a gerer le gzip sur 1and1, Je vais tout de suite tester tout ca et je vous tiens informe :)

Publié par hozin2003 dans CMS

merci, c'est mon problème et voila j'ai trouvé la solution merci et voila un bon pas pour un débutant

Publié par dotnet dans php5

Cette interface est intéressant par le fait qu'elle soit universelle, donc son intérêt pour moi est qu'elle permet l'accès aux bases de données Microsoft SQL Server....