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

Publié par Quentin dans tuto

Merci pour ces petits codes java script qui me sont d'un grand secours pour mon TP :)

Publié par Kachwahed dans CMS

Merci, ca marche avec moi, mais apès avoir changer:
Edit1.Text := Format('%d bits, %d x %d',[Bits, HRes, VRes]);
par:
Edit1.Text := Format('%d bits, %d x %d',[Bits, HorizRes, VertRes]); <...

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 etoiliste010 dans java

BONSOIR le code compile mais
Grave: null
com.sun.mail.smtp.SMTPSendFailedException: 530 5.7.0 Must issue a STARTTLS command first. gd4sm1845967wib.6

at com.sun.mail.smtp.SMTPTransport.i...

Publié par Fokoneh dans java

Je teste d'abord, Je reviens