Ответ 1
Я думаю, что то, что вы хотите, называется синтаксическим анализатором запроса вместо манипулятора url, и здесь один: http://ostermiller.org/utils/CGIParser.java.html
Мне нужно сделать несколько очень простых манипуляций с URL-адресами на Java. Как получить значение для параметра в запросе или обновить его... Я ожидал найти простой класс утилиты, выполняющий это в пакете commons-lang, но нет. Я знаю, что это простая проблема, но если есть что-то уже написанное, зачем это делать снова? Вы знаете что-нибудь?
Я хотел бы иметь как минимум следующие возможности:
String myUrl = "http://www.example.com/test.html?toto=1&titi=2";
// get the value of a parameter
String parameterValue = UrlUtils.getParameterValue(myUrl, "toto");
Assert.equals(parameterValue, "1");
// update a parameter
String newUrl = UrlUtils.updateParameter(myUrl, "toto", 3);
parameterValue = UrlUtils.getParameterValue(myUrl, "toto");
Assert.equals(parameterValue, "3");
В идеале, он будет заботиться обо всех связанных с кодировкой вопросов и работать с java.net.Url, а также со строками.
Спасибо за вашу помощь!
Я думаю, что то, что вы хотите, называется синтаксическим анализатором запроса вместо манипулятора url, и здесь один: http://ostermiller.org/utils/CGIParser.java.html
В библиотеке Apache httpcomponents имеется декодер URL: http://hc.apache.org/httpcomponents-client-ga/httpclient/apidocs/org/apache/http/client/utils/URLEncodedUtils.html
Httpcomponents - это преемник клиента http-клиента.
Действительно выпустила эффективную библиотеку Java для строки запроса и синтаксического анализа чисел:
http://engineering.indeed.com/blog/2014/02/efficient-query-string-parsing-util-urlparsing/
https://github.com/indeedeng/util/tree/master/urlparsing
(Отказ от ответственности: я действительно технический директор.)