Задать вопрос
@My1Name

Как правильно кодировать «неправильный» URL?

Как правильно кодировать ссылки, которые сочленены с нескольких языков? Например
https : // afisha.orbita.co.il/announce/Театр-Габима-Дело-всей-жизни
Первая часть ссылки (доменное имя и каталог на английском), а конечная страница на русском. Такую ссылку нельзя целиком передать в URLEncoder. Сначала нужно определить, какая часть ссылки должна быть закодирована, разделить её на части, закодировать в данном случае "Театр-Габима-Дело-всей-жизни", а потом конкатенировать и только в таком виде можно создать правильный URL. И вот вопрос: Как программными средствами, определить нужно ли кодировать ссылку, и если нужно, то какую её часть?
  • Вопрос задан
  • 292 просмотра
Подписаться 1 Средний 1 комментарий
Решения вопроса 2
xez
@xez Куратор тега Java
TL Junior Roo
import org.springframework.web.util.UriUtils;

class Main {
    public static void main(String[] args) {
        var path = "announce/Театр-Габима-Дело-всей-жизни";
        var pathEncoded = UriUtils.encodePath(path, "UTF-8");
        System.out.println("https://afisha.orbita.co.il" + pathEncoded);
// https://afisha.orbita.co.ilannounce/%D0%A2%D0%B5%D0%B0%D1%82%D1%80-%D0%93%D0%B0%D0%B1%D0%B8%D0%BC%D0%B0-%D0%94%D0%B5%D0%BB%D0%BE-%D0%B2%D1%81%D0%B5%D0%B9-%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8
    }
}
Ответ написан
это

https://ru.wikipedia.org/wiki/IDN#%D0%A0%D0%B5%D0%...

https://docs.oracle.com/javase/7/docs/api/java/net...

Provides methods to convert internationalized domain names (IDNs) between a normal Unicode representation and an ASCII Compatible Encoding (ACE) representation


примеры кода
www.java2s.com/example/java-api/java/net/idn/index.html
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Комментировать
PROInteriorDesign
@PROInteriorDesign
Дизайн интерьера: PROID.studio
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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