天天看点

android http pos 请求和gson解析处理head头信息

//这是我从基类里取出来的代码,包括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("&quot;", "\"");

}

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;

}

继续阅读