private HttpTaskResult HttpPostRequest(String url, int reqId, String jsonBody) {
HttpTaskResult result = new HttpTaskResult();
HttpClient httpsClient = AppSslApplication.getHttpsClient(mContext);
HttpPost post = new HttpPost(url);
try {
StringEntity params = new StringEntity(jsonBody, HTTP.UTF_8 );//HTTP.UTF_8, support Chinese and happy face. Otherwise it is messy code
post.addHeader("content-type", "application/json");
post.addHeader("accept", "application/json");
post.setEntity(params);
synchronized (httpsClient) {
HttpResponse response = httpsClient.execute(post);
HttpEntity entity = response.getEntity();
result.setRetCode (response.getStatusLine().getStatusCode());
result.setMessage (getResponseMessage(entity));
result.setRequestId (reqId);
response.getEntity().consumeContent();
}
return result;
} catch (Exception e) {
e.printStackTrace();
result.setMessage("Network error: " + e.getMessage() + ", please check your connection.");
}
return result;
}
使用HTTP.UTF_8 支持中文,并且支持转移符号,如笑脸等。