code: public static String doPost(final String action, final Map<String, String> parameters) {
  
      List<NameValuePair> nvps = new ArrayList<NameValuePair>();
      for (Entry<String, String> nameValuePair : parameters.entrySet()) {
        nvps.add(new BasicNameValuePair(nameValuePair.getKey(), nameValuePair.getValue()));
      }
      HttpPost httpPost = new HttpPost(action);
      try {
  
        httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
        CloseableHttpClient httpClient = getHttpClient();
        CloseableHttpResponse httpResponse = httpClient.execute(httpPost);
        return EntityUtils.toString(httpResponse.getEntity());
      } catch (Exception e) {
        throw new HttpException(e);
      }
    }
docs: access given action with given parameters(<strong>default encoding by
  "UTF-8"</strong>) by post request without retry when exception.
  
  @param action action url to access
  @param parameters parameters to post
  @return response content of target action url