Encodage des adresses URL HTTP en Java
En Java, l'utilitaire java.net.URLEncoder est couramment utilisé pour encoder les données d'un formulaire HTML. Cependant, il peut ne pas convenir au codage d'URL HTTP en raison de ses limites dans la gestion de certains caractères.
Une approche pour coder correctement les URL HTTP consiste à utiliser la classe java.net.URI. Selon la documentation de l'URL, "URI effectue l'échappement de ses champs de composants dans certaines circonstances."
Pour encoder une URL HTTP à l'aide d'URI, créez un objet URI avec plusieurs arguments :
URI uri = new URI( "http", "search.barnesandnoble.com", "/booksearch/first book.pdf", null);
L'URI résultant aura des caractères illégaux échappés, fournissant le comportement attendu.
http://search.barnesandnoble.com/booksearch/first%20book.pdf
Notez que l'URI n'échappe qu'aux caractères illégaux. Pour les caractères non-ASCII, la méthode toASCIIString peut être utilisée pour convertir l'URI en une chaîne contenant uniquement des caractères US-ASCII :
String request = uri.toASCIIString();
Pour les URL avec des requêtes, utilisez le constructeur à 5 paramètres de l'URI pour spécifier à la fois le chemin de l'URL et la chaîne de requête :
URI uri = new URI( "http", "www.google.com", "/ig/api", "weather=São Paulo", null);
Cette approche offre une solution plus robuste et plus complète pour coder les URL HTTP dans Java.
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!