У меня есть проблемы с характером +
(и, возможно, другие) в URIBuilder, предполагают, чтобы получить декодированный URL, но когда я извлечь запрос к +
заменяютсяпараметров Извлекают из URL
String decodedUrl = "www.foo.com?sign=AZrhQaTRSiys5GZtlwZ+H3qUyIY=&more=boo";
URIBuilder builder = new URIBuilder(decodedUrl);
List<NameValuePair> params = builder.getQueryParams();
String sign = params.get(0).getValue();
значения петь это AZrhQaTRSiys5GZtlwZ H3qUyIY=
с пробелом вместо +
. Как я могу извлечь правильное значение?
другой путь:
URI uri = new URI(decodedUrl);
String query = uri.getQuery();
значение запроса sign=AZrhQaTRSiys5GZtlwZ+H3qUyIY=&more=boo
в данном случае это правильно, но я должен лишить его. Есть ли другой способ сделать это?
true, но в моем случае у меня есть весь URL-адрес, и мне нужно его разбить. ваш ответ действителен в случае сборки нового URL-адреса. – xedo
Отредактированный мой ответ (либо URL-адрес ошибочно построен, либо символ + обозначает пробел). – Eyal
правый! url должен быть закодирован раньше – xedo