Я чувствую, что, должно быть, пропустил правильную ветку, потому что кажется, что на это уже был бы ясный ответ, так что извините, если это повторяется.Я читал множество тем здесь и в других местах, и я не увидел четкого ответа на этот вопрос «Вот как вы это делаете» ...
Программа будет получать полные URL-адреса в виде строк,Например: "http://www.stackoverflow.com/questions/somepage?somequery#somefragment"
Я хочу взять эту строку и убедиться, что она правильно закодирована для использования в соединении, как с HttpClient.
Из того, что я прочитал, похоже, что это можно сделатьиспользовать конструктор URI () с различными частями в качестве параметров, поэтому возникает вопрос, какой самый надежный способ получить строковый URL, о котором мы ничего не знаем, кроме его URL, и разбить егодо различных частей, необходимых для конструктора URI ().
Вот что я собрал вместе. Есть ли недостатки в этом методе?
URL url = new URL(urlString);
URI uri = new URI(url.getProtocol(), url.getAuthority(), url.getPath(), url.getQuery(), null);
Затем переменная uri содержитзакодирован, готов к использованию URI. Этот код работает до сих пор, но я хочу убедиться, что не может быть никаких подводных камней.
Спасибо