Другими словами, похоже, что у самих RFC есть некоторые проблемы.
ользую HttpClient для моего приложения для Android. В какой-то момент я должен получить данные из удаленных мест. Ниже приведен фрагмент, как я использовал HttpClient для получения ответа.
String url_s = "https://mydomain.com/abc/{5D/{B0blhahblah-blah}I1.jpg"; //my url string
DefaultHttpClient httpClient = new DefaultHttpClient();
response = httpClient.execute(new HttpGet(url_s));
Он работает абсолютно нормально в большинстве случаев, но не в тех случаях, когда в моем URL есть несколько фигурных скобок, которые в основном являются String. Трассировка стека показывает мне индекс фигурных скобок с неверным символом. Поэтому я попытался создать URI из закодированного URL.
URL url = new URL(url_s);
URI uri = url.toURI();
response = httpClient.execute(new HttpGet(uri));
После этого я вообще не получил результат из удаленного местоположения. Я обошел проблему и исправил ее, заменив фигурную скобку
"{" с "% 7B""}" с "% 7D"Но я не совсем доволен своим решением. Есть ли лучшие решения? Что-нибудь аккуратное и не жестко, как у меня?