2010-02-19 8 views
1

Je cherche une bibliothèque Java/classe pour analyser les URL propres et obtenir toutes les propriétés comme la requête, le port, l'hôte, le domaine, sous-domaine, etc Essentiellement la plupart des fonctionnalité que java.net.URI fait, mais même pour les URL propres. Je suppose que c'est une exigence assez commune, il pourrait y avoir des bibliothèques déjà construites pour gérer cela. Aidez-moi?Java bibliothèque/classe pour analyser les URLs propres et obtenir ses différents composants

Répondre

4

classe java.net.URL a des méthodes getHost(), getPort(), getQuery(), getPath(). Vous pouvez également regarder URI classe, il est préférable de l'utiliser.

+4

Je recommanderais d'utiliser la classe URI puisque la méthode URL.equals() nécessite une connexion active et effectue une recherche DNS à chaque fois que la méthode equals() est appelée. donc ça pourrait être un enfer pour tester dans un environnement non réseau. cher ck ici: http://brian.pontarelli.com/2006/12/05/mr-gosling-why-did-you-make-url-equals-suck/ – fasseg

+0

Belle suggestion. J'ai aussi regardé Josh Bloch sur youtube mais je ne l'ai pas ajouté à ma réponse parce que c'est particulièrement important quand les objets URL/URI sont des éléments de Set ou des clés dans Map, et ce n'est pas le cas imho. – Roman

+0

J'utilise actuellement java.net.URL mais ça ne marche pas très bien avec les URLs propres. Existe-t-il des éléments spécifiques aux bibliothèques d'URL propres? –

0

Les classes Java Url standard ne disposent pas de fonctionnalités pour analyser les paramètres de requête. Il y a un utility class dans le client HTTP de Commons qui a une méthode utile pour faire ceci.

Questions connexes