Не грузится страница с нижним подчёркиванием в адресе.
Дано:
Есть страница на сайте с адресом вида "ххх_ххх.yyy.zzz".
Проблема:
Грузиться кодом (пробовал 2 варианта, кои работают на всех ссылках, кроме означенной) сия страница никак не хочет. Остальные страницы аналогичным кодом грузятся, в браузере эмулятора эта страница тоже грузится без проблем.
Подозрения:
Гугленье наводит на неутешительные мысли. Мол, нехорошо иметь "_" в адресе.
Вопрос:
Правильно ли я нагуглил, и если да, то можно это как-то обойти? Сайт мне неподвластен, сам адрес поменять не могу.
UPD_0:
Может чрез WebView получится достать html, коли страница в браузере грузится? Утром попробую.
UPD_0.1:
Попробовал. Сработало. Костыль ужасен, но работает. Код в моем ответе.
UPD_1:
Сомневаюсь что приведение тут конкретного адреса поможет, но раз просят, то вот он: тык.
Вот сейчас попробовал, по совету @SuperCreeper, конвертить в Punycode. Тут и тут адрес без изменений остался, а тут ругнулся (как я понял) на ":" (Error:: Disallowed/Unassigned 3A) и вернул всё тот же адрес.
По совету @abalckin, пробовал заменить символ:
this.url=this.url.replaceAll("_", "%5F");
this.url=this.url.replaceAll("1", "%31");
this.url=this.url.replaceAll("4", "%34");
this.url=this.url.replaceAll("-", "%2D");
Что ничего не меняет. Не помогает и вот это:
url = URLDecoder.decode(url, "utf-8");
Пользую библиотеку HTMLCleaner. До сего момента никаких проблем с ней не было. Пробовал и какой-то длинный код со stackoverflow. Приводить его смысла не вижу, ибо ведёт себя точно также - всё грузит как и HTMLCleaner кроме указанного выше адреса.
UPD_2:
Попробовал у своего хостера создать на своём сайте поддомен с "_" в адресе. Предсказуемо был послан лесом.