Я отправляю запрос GET с помощью HttpClient, но +
не кодируется.
1.
Если я передам строку параметра query
в незашифрованном виде, как это
URI uri = new URI(scheme, host, path, query, null);
HttpGet get = new HttpGet(uri);
Тогда знак +
не кодируется и принимается как пробел на сервере. Остальная часть URL кодируется нормально.
2.Если я закодирую параметры в строке query
следующим образом
param = URLEncoder.encode(param,"UTF-8");
Затем я получаю кучу странных символов на сервере, возможно, потому что URL был закодирован дважды.
3.Если я только заменю +
на %B2
вот так
query = query.replaceAll("\\+","%B2");
Затем %B2
кодируется, когда GET выполняется HttpClient
Как правильно кодировать параметры Get с помощью Apache HttpClient и убедиться, что +
также закодировано?