//这是我从基类里取出来的代码,包括HTTP POST 延时操作,GSON解析,设置头信息,取出头信息,
// 公共post类
public String HttpClientPost(String path, String msgBody, int msgId,
Context ctx) throws Exception {
HttpClient httpClient = new DefaultHttpClient();
org.apache.http.params.HttpParams parms = httpClient.getParams();
// 设置超时
httpClient.getParams().setParameter(CoreConnectionPNames.
CONNECTION_TIMEOUT, 5500);
httpClient.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT,
5500 );
HttpPost request = new HttpPost(path);
Log.e("e", "path=" + path + ", msgId=" + msgId + ", msgBody=" + msgBody
+ ", mDataVersion=" + HttpTools.getDataVersion()
+ ", mLoginToken=" + HttpTools.getLoginToken());
// 设置Http Body
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
NameValuePair nvp = new BasicNameValuePair("MsgId", msgId + "");
NameValuePair nvp1 = new BasicNameValuePair("MsgBody", msgBody);
parameters.add(nvp);
parameters.add(nvp1);
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(parameters,
"UTF-8");
request.setEntity(entity);
HttpTools.setContext(ctx);
// 设置Http hearder
request.setHeader(InterfaceCode.HDR_DATA_VERSION_STRING,
HttpTools.getDataVersion());
request.setHeader(InterfaceCode.HDR_LOGIN_TOKEN_STRING,
HttpTools.getLoginToken());
// 发Http Request
try {
HttpResponse response = httpClient.execute(request);
int statusCode = response.getStatusLine().getStatusCode();
Log.e("e",
"statusCode = " + statusCode + ", Entity="
+ response.getEntity());
if (statusCode == HttpStatus.SC_OK) {
// 处理Http Header
saveHeaderInfo(response, ctx);
// 处理Http Body
Log.i("i", responseJson + "" + "---");
if (responseJson != null) {
responseJson = responseJson.replaceAll(""", "\"");
}
return responseJson;
} else {
Log.e("e", "error: statusCode = " + statusCode);
return null;
}
} catch (ConnectTimeoutException e) {
// TODO: handle exception
e.printStackTrace();
Log.e("e", "error: ConnectTimeoutException = ");
return ConnectTimeoutException;
}catch (UnknownHostException e) {
// TODO: handle exception
e.printStackTrace();
Log.e("e", "error:UnknownHostException = ");
return UnknownHostException;
}