Maison > Java > javaDidacticiel > Comment encoder correctement les adresses URL HTTP en Java ?

Comment encoder correctement les adresses URL HTTP en Java ?

DDD
Libérer: 2024-12-17 01:50:25
original
968 Les gens l'ont consulté

How to Properly Encode HTTP URL Addresses in Java?

Encodage d'adresses d'URL HTTP en Java

Lorsque vous travaillez avec des applications Java autonomes qui interagissent avec des URL, il est crucial de les encoder correctement pour gérer caractères d'espace et autres problèmes potentiels. Java propose diverses méthodes pour faciliter ce processus. Une option consiste à utiliser la classe java.net.URLEncoder, conçue pour l'encodage de formulaires HTML. Cependant, il n'est pas toujours adapté au codage d'URL HTTP.

Une approche alternative consiste à exploiter la classe java.net.URI, qui offre plus de contrôle sur le processus de codage. Pour encoder correctement une adresse URL HTTP, créez une instance d'URI en utilisant plusieurs arguments :

URI uri = new URI(
    "http", 
    "search.barnesandnoble.com", 
    "/booksearch/first book.pdf",
    null);
Copier après la connexion

L'URI résultant aura des espaces remplacés par des caractères " ", codant efficacement l'adresse URL. Notez que cette méthode n'échappe qu'aux caractères illégaux et n'encode pas les caractères non-ASCII. Pour résoudre ce problème, utilisez la méthode toASCIIString :

String request = uri.toASCIIString();
Copier après la connexion

Cela convertira l'URI en une chaîne contenant uniquement des caractères US-ASCII, garantissant ainsi la compatibilité avec les protocoles HTTP.

Pour les URL avec des requêtes , tel que https://www.example.com/path?param=value, vous pouvez utiliser le constructeur à cinq paramètres de l'URI class :

URI uri = new URI(
        "https", 
        "www.example.com", 
        "/path",
        "param=value",
        null);
Copier après la connexion

N'oubliez pas d'utiliser la méthode toASCIIString si la chaîne de requête contient des caractères qui doivent être encodés. En utilisant ces méthodes, vous pouvez encoder efficacement les adresses URL HTTP en Java, garantissant ainsi le bon fonctionnement de vos applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal