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

Comment encoder correctement les URL HTTP en Java ?

Susan Sarandon
Libérer: 2024-12-18 19:18:12
original
852 Les gens l'ont consulté

How to Properly Encode HTTP URLs in Java?

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);
Copier après la connexion

L'URI résultant aura des caractères illégaux échappés, fournissant le comportement attendu.

http://search.barnesandnoble.com/booksearch/first%20book.pdf
Copier après la connexion

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();
Copier après la connexion

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);
Copier après la connexion

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal