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

Publié par jpa71 dans java

Efficace.. Bien commente.. Du code bien pense
Bravo

Publié par Celibataire dans news

Le trustrant est pas clair du tout peu d'informations sont disponibles sur lui!

Publié par claude77 dans tuto

Super application, fonctionne bien
exemple sur une image

Publié par Connan dans php5

j'utilise mysql phpmyadmin et j'ai cree une table IP mais j'ai mis varchart(15) mais quese qui faut que je fasse pour stocker l'ip des joueurs qui s'inscrivent

Publié par arthur dans java

essaye avec une while, cela devrais marcher. mais après je ne sais pas comment paramétrer. c'est toi qui voit