Exemple #1
0
  public static String excutePost(
      String targetURL,
      String urlParameters,
      String contentType,
      String lang,
      String user,
      String pwd) {
    URL url;
    HttpURLConnection connection = null;
    BufferedReader rd = null;
    PrintWriter writer = null;

    if (urlParameters == null) {
      urlParameters = "";
    }
    Map<String, String> params = URLHelper.getParams(urlParameters);
    StringBuffer encodedParam = new StringBuffer();
    String sep = "";
    for (Map.Entry<String, String> param : params.entrySet()) {
      encodedParam.append(sep);
      encodedParam.append(param.getKey());
      encodedParam.append("=");
      encodedParam.append(URLEncoder.encode(param.getValue()));
      sep = "&";
    }

    if (urlParameters == null) {
      urlParameters = "";
    }

    try {
      // Create connection
      url = new URL(targetURL);
      connection = (HttpURLConnection) url.openConnection();
      connection.setRequestProperty("Content-Type", contentType);
      connection.setRequestProperty("Content-Language", lang);
      connection.setDoOutput(true);

      // user authentification
      if (user != null && pwd != null) {
        connection.setRequestProperty(
            "Authorization", "Basic " + Base64.encodeBase64((user + ':' + pwd).getBytes()));
      }

      // Send request
      writer = new PrintWriter(connection.getOutputStream());
      writer.write(encodedParam.toString());
      writer.flush();

      // Get Response
      InputStream is = connection.getInputStream();
      String line;
      rd = new BufferedReader(new InputStreamReader(is));
      ByteArrayOutputStream outStream = new ByteArrayOutputStream();
      PrintStream out = new PrintStream(outStream);
      while ((line = rd.readLine()) != null) {
        out.println(line);
      }
      out.close();
      return new String(outStream.toByteArray());
    } catch (Exception e) {
      e.printStackTrace();
      return null;
    } finally {
      closeResource(rd, writer);
      if (connection != null) {
        connection.disconnect();
      }
    }
  }