code: @SuppressWarnings("resource")
      public static InputStream httpPost(final String httpurl, final String data, final Map<String, String>... requestProperties) throws IOException {
          byte[] bytes = data.getBytes("utf-8");
          java.net.URL url = new java.net.URL(httpurl);
          HttpURLConnection connection = (HttpURLConnection) url.openConnection();
          connection.setDoInput(true);
          connection.setDoOutput(true);
          connection.setRequestMethod("POST");
          connection.setRequestProperty("charset", "utf-8");
          connection.setRequestProperty("Content-Length", Integer.toString(bytes.length));
          for (Map<String, String> props : requestProperties) {
              addRequestProperties(props, connection);
          }
          OutputStream outputStream = connection.getOutputStream();
          outputStream.write(bytes);
          outputStream.flush();
          return connection.getInputStream();
      }
docs: Simple http post implementation. Supports HTTP Basic authentication via request properties.
  You may want to use {@link #createBasicAuthenticationProperty} to add authentication.
  
  @param httpurl
  target url
  @param data
  String with content to post
  @param requestProperties
  optional http header fields (key-&gt;value)
  @return input stream of response
  @throws IOException