//这是我从基类里取出来的代码,包括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();
// 设置超时
/*HttpConnectionParams.setConnectionTimeout(parms, 3500);// 设置网络超时
HttpConnectionParams.setSoTimeout(parms, 3500);// 设置网络超时
*/
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 (ClientProtocolException e) {
// TODO: handle exception
e.printStackTrace();
Log.e("e", "error: ClientProtocolException = ");
return ClientProtocolException;
} */catch (ConnectTimeoutException e) {
// TODO: handle exception
e.printStackTrace();
Log.e("e", "error: ConnectTimeoutException = ");
return ConnectTimeoutException;
}/*
* catch(SocketTimeoutException e) { // TODO: handle exception
* e.printStackTrace(); Log.e("e", "error:SocketTimeoutException= ");
* return SocketTimeoutException; }
*/catch (UnknownHostException e) {
// TODO: handle exception
e.printStackTrace();
/*
* String json = responseJson.toString(); Log.i("i", json); json =
* URLDecoder.decode(json, "UTF-8"); Log.i("i", json + "json"); Gson
* gson = new Gson(); // google提供的一个类 方便于获取类型Class
*
* User user = gson.fromJson(json, User.class); Log.i("i",
* "username" + user.getUserName()); Log.i("i", "userpwd" +
* user.getUserPassword());
*/
Log.e("e", "error:UnknownHostException = ");
return UnknownHostException;}