
private static final String APPLICATION_JSON = "application/json";

private static final String CONTENT_TYPE_TEXT_JSON = "text/json";


public static void httpPostWithJSON(String url, String json) throws Exception {

// 将JSON进行UTF-8编码,以便传输中文

String encoderJson = URLEncoder.encode(json, HTTP.UTF_8);

DefaultHttpClient httpClient = new DefaultHttpClient();

HttpPost httpPost = new HttpPost(url);

httpPost.addHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON);

StringEntity se = new StringEntity(encoderJson);

se.setContentType(CONTENT_TYPE_TEXT_JSON);

se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, APPLICATION_JSON));

httpPost.setEntity(se);

httpClient.execute(httpPost);

}

public static String receivePost(HttpServletRequest request) throws IOException, UnsupportedEncodingException {

// 读取请求内容

BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));

String line = null;

StringBuilder sb = new StringBuilder();

while((line = br.readLine())!=null){

sb.append(line);

}


// 将资料解码

String reqBody = sb.toString();

return URLDecoder.decode(reqBody, HTTP.UTF_8);

}