android http pos 请求和gson解析处理head头信息
生活随笔
收集整理的這篇文章主要介紹了
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();
// 設置超時
/*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;}
總結
以上是生活随笔為你收集整理的android http pos 请求和gson解析处理head头信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 支付宝无法使用花呗购物怎么办
- 下一篇: 五十元人民币是哪一年发行的