/*** Do POST request
*@paramurl
*@paramparameterMap
*@return*@throwsException*/
public String doPost(String url, Map, ?> parameterMap) throwsException {/*Translate parameter map to parameter date string*/StringBuffer parameterBuffer= newStringBuffer();if (parameterMap != null) {
Iterator> iterator =parameterMap.keySet().iterator();
String key= null;
String value= null;while(iterator.hasNext()) {
key=(String)iterator.next();if (parameterMap.get(key) != null) {
value=(String)parameterMap.get(key);
}else{
value= "";
}
parameterBuffer.append(key).append("=").append(value);if(iterator.hasNext()) {
parameterBuffer.append("&");
}
}
}//System.out.println("POST parameter : " + parameterBuffer.toString());
URL localURL= newURL(url);
URLConnection connection=openConnection(localURL);
HttpURLConnection httpURLConnection=(HttpURLConnection)connection;
httpURLConnection.setDoOutput(true);
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setRequestProperty("Accept-Charset", charset);
httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpURLConnection.setRequestProperty("Content-Length", String.valueOf(parameterBuffer.length()));
OutputStream outputStream= null;
OutputStreamWriter outputStreamWriter= null;
InputStream inputStream= null;
InputStreamReader inputStreamReader= null;
BufferedReader reader= null;
StringBuffer resultBuffer= newStringBuffer();
String tempLine= null;try{
outputStream=httpURLConnection.getOutputStream();
outputStreamWriter= newOutputStreamWriter(outputStream);
outputStreamWriter.write(parameterBuffer.toString());
outputStreamWriter.flush();if (httpURLConnection.getResponseCode() >= 300) {
resultBuffer.append(httpURLConnection.getResponseCode());throw new Exception("HTTP Request is not success, Response code is " +httpURLConnection.getResponseCode());
}
inputStream=httpURLConnection.getInputStream();
inputStreamReader= newInputStreamReader(inputStream);
reader= newBufferedReader(inputStreamReader);while ((tempLine = reader.readLine()) != null) {
resultBuffer.append(tempLine);
}
}finally{if (outputStreamWriter != null) {
outputStreamWriter.close();
}if (outputStream != null) {
outputStream.close();
}if (reader != null) {
reader.close();
}if (inputStreamReader != null) {
inputStreamReader.close();
}if (inputStream != null) {
inputStream.close();
}
}returnresultBuffer.toString();
}