Что произошло с URIUtil.encodePath от commons-httpclient-3.1?

Я хочу сделать то, что описало рассматриваемые 724043, а именно, закодируйте компоненты контура URI. Класс рекомендовал сделать, который является URIUtil из палаты общин HttpClient 3.1. К сожалению, тот класс, кажется, исчез из новой версии HttpClient. Столь же именованный класс от HttpClient 4.1, URIUtils, не обеспечивает ту же функциональность. Этот класс/метод был перемещен в некоторую другую библиотеку, о которой я не знаю или это просто ушел? Я лучше всего от просто копирования класса от этих 3,1 выпусков в мой код или являюсь там более простым путем?

9
задан Community 23 May 2017 в 12:00
поделиться

1 ответ

Сопровождающие модуля постановили, что вы должны использовать стандартный класс JDK URI вместо него:

Причина, по которой URI и URIUtils были заменены на стандартный Java URI, очень проста. очень проста: не было желающих поддерживать эти классы.

Существует ряд полезных методов, которые помогают обойти различные проблемы с реализацией java.net.URI, но в остальном стандартные JRE классы должны быть достаточными, не так ли?

Итак, самое простое - это посмотреть на исходник encodePath из релиза 3.1 и продублировать то, что он делает в вашем собственном коде (или просто скопировать метод/класс в вашу кодовую базу).

Или вы можете воспользоваться принятым ответом на вопрос, на который вы ссылались (но, кажется, сначала нужно разбить URL на части):

new URI(
    "http", 
    "search.barnesandnoble.com", 
    "/booksearch/first book.pdf",
    null).toString();
8
ответ дан 4 December 2019 в 22:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: