logo

Encodeur d'URL Java

Java URLEncoder est une classe utilitaire utilisée pour coder les URL (Uniform Resource Locator). La fiabilité et la sécurité sont assurées grâce à l'encodage de l'URL. Lorsque l'utilisateur demande un site particulier via la méthode get, les paramètres du formulaire et leurs valeurs sont ajoutés après le « ? connectez-vous à l'URL. Cependant, le problème survient lorsque des caractères spéciaux sont utilisés dans les valeurs et ne sont pas interprétés. Généralement, HTML gère automatiquement la partie encodage en traitant les caractères spéciaux et en les convertissant en caractères autorisés pour une gestion fluide de toutes les opérations. Cependant, cela ne confirme pas l'encodage précis, nous ne pouvons donc pas nous fier uniquement aux fonctionnalités HTML, et donc pour encoder explicitement les URL, nous utilisons la classe URL Encoder de Java.

Il est important de suivre les règles données lors de l'encodage d'une chaîne :

  1. Les caractères alphabétiques de « a » à « z » ou de « A » à « Z » et les chiffres de « 0 » à « 9 » restent les mêmes.
  2. Les caractères alphanumériques et certains caractères spéciaux tels que '*', '_', '-' et '.' ne changez pas.
  3. Tous les espaces sont convertis en signes '+'.
  4. Le W3C recommande d'utiliser « UTF-8 » à des fins d'encodage. Tous les autres caractères sont codés par un ou plusieurs octets en utilisant le schéma de codage spécifié. Ils sont convertis en une chaîne de trois caractères de la forme %xy, où xy représente la représentation hexadécimale du caractère codé.

Exemple 1:

Si la demande de l'utilisateur est telle que la valeur du paramètre contient des caractères spéciaux et des espaces comme

est égal à Java

u@Java Point T

Si le codage utilisé est UTF-8, qui est le plus couramment utilisé, le signe « @ » sera converti en « %40 » et les espaces seront convertis en signes « + ». La chaîne codée ressemble à ceci :

u%40Java+T+Point

java remplace tout

Exemple 2 :

Si la demande de l'utilisateur est telle que la valeur du paramètre ne contient aucun caractère spécial ni espace, comme

u@JavaTpoint

La chaîne codée ressemble à ceci :

u%40JavaTPoint

URL d'encodage

taille du texte en latex

Afin d'encoder une URL, la classe Java URLEncoder fournit la méthode encode().

URLEncoder.encode( )

La méthode traduit une chaîne au format codé application/x-www-form-url à l’aide d’un schéma de codage spécifique. Il obtient les octets des caractères non sécurisés en utilisant le schéma de codage fourni.

Syntaxe:

exemples de programmation python
 public static String encode(String s, String enc) throws UnsupportedEncodingException 

Remarque : Le World Wide Web Consortium recommande d'utiliser le schéma de codage UTF-8. Sinon, cela provoque diverses incompatibilités.

Paramètres:

s : La chaîne à traduire.

enc: Le nom du codage de caractères pris en charge, tel que « UTF-8 ».

Retour: Il renvoie la chaîne traduite.

Les lancers : UnsupportedEncodingException est levée lorsque le schéma de codage nommé n'est pas pris en charge.

UrlEncoder.java

 import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; public class UrlEncoder { public static void main(String[] args) throws MalformedURLException, UnsupportedEncodingException { String baseUrl = 'https://www.javatpoint.com/'; // String to be encoded as requested by the user String query = ' u@ java T point'; System.out.println(' URL without any encoding : ') ; // creating an object of the URL class URL url = new URL(baseUrl + query) ; System.out.println( url ) ; // using the encode( ) method to encode the URL System.out.println( ' URL after encoding : ' ) ; url = new URL( baseUrl + URLEncoder.encode( query, 'UTF-8' ) ) ; System.out.println( url ) ; } } 

Sortir:

 URL without any encoding: https://www.javatpoint.com/ u@ java T point URL after encoding: https://www.javatpoint.com/+u%40+java+T+point