Я ищу библиотеку/класс java для анализа чистых URL-адресов и получения всех свойств, таких как запрос, порт, хост, домен, поддомен и т. Д. По существу, большинство функциональность, которую java.net.URI делает, но даже для чистых URL-адресов. Я предполагаю, что, поскольку это довольно распространенное требование, могут быть некоторые библиотеки, уже построенные для этого. Помогите?Библиотека Java/класс для анализа чистых URL-адресов и получения его различных компонентов
1
A
ответ
4
java.net.URL
класс имеет методы getHost()
, getPort()
, getQuery()
, getPath()
.
Вы также можете ознакомиться с классом URI
, это более предпочтительно использовать его.
0
Стандартные классы Java Url не имеют возможности анализировать параметры запроса. В Commons HTTP Client есть utility class, который имеет полезный метод для этого.
Я бы рекомендовал использовать класс URI, так как метод URL.equals() действительно нуждается в реальном соединении и выполняет поиск DNS каждый раз, когда вызывается метод equals(). так что это может быть ад для тестирования в среде, не связанной с сетью. cher ck здесь: http://brian.pontarelli.com/2006/12/05/mr-gosling-why-did-you-make-url-equals-suck/ – fasseg
Хорошее предложение. Я также смотрел презентацию Джоша Блоха на youtube об этом, но не добавил его к моему ответу, потому что это особенно важно, когда объекты URL/URI являются элементами Set или keys в Map, и это не так. – Roman
В настоящее время я использую java.net.URL, но он не работает так хорошо с чистым URL-адресом. Существуют ли какие-либо действия, направленные конкретно на чистые библиотеки URL-адресов? –