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 3163 fois
Public
Internaute
Auteur de la publication
Fobec
Admin
Auteur de 267 articles
|BIO_PSEUDO|
Commentaires récents

Publié par eldiablo dans java

Malheureusement, ce code n'est pas correct.
Cette classe accepte des dates comme : "31/00/2011"

Publié par claude77 dans tuto

Super application, fonctionne bien
exemple sur une image

Publié par khaoula dans java

s' il vous plait j'ai un projet de fin d'etude et je veux integrer une carte google maps dans une interface avec java et toujours j'aurais des problemes et merci de votre reponse

Publié par revente lmnp dans logiciel

J'aimerais avoir plus d'informations sur cette article, si quelqu'un peux m'en donnee d'avantage, je vous en remercie d'avance.

Publié par foufou0406 dans CMS

merci !!!