ответ Дженса работает как шарм! Чтобы завершить его пример, я использовал его для публикации параметра:
String label = "A label";
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("label", label));
httpget.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
Но он всегда отправляет строку «+», я имею в виду «label = A + label». Используя предложение Йенса, я изменил свой код на:
String label = "A label";
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("label", label));
String entityValue = URLEncodedUtils.format(nvps, HTTP.UTF_8);
entityValue = entityValue.replaceAll("\\+", "%20");
StringEntity stringEntity = new StringEntity(entityValue, HTTP.UTF_8);
stringEntity.setContentType(URLEncodedUtils.CONTENT_TYPE);
httpget.setEntity(stringEntity);
Теперь он публикует "label = A% 20label"