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);
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();
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);
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!