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

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头信息相关推荐

  1. android 如何用httpclient发请求和利用httphead头信息给服务器

    // 公共post类 public String HttpClientPost(String path, String str,String port, Context ctx) throws Exc ...

  2. android gson工具包,Android Study 之 彻底解决 Gson解析 异常

    > LZ-Say:大风呼呼的刮,就好像妖精要来的前奏一样~ > > 前言 开发过程中,App常用的接收参数的时候,几乎大部分都是以json格式为主,那么有关解析json的方式有很多, ...

  3. 一起来开发Android的天气软件(四)——使用Gson解析数据

    离上一篇文章过去才4.5天,我们赶紧趁热打铁继续完成该系列的天气软件的开发.承接上一章的内容使用Volley实现网络的通信,返回给我们的是这一串Json数据{"weatherinfo&quo ...

  4. Android之GSON解析JSON

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库. 比如: <pre name="code" class=" ...

  5. 深度解析Cocoa异步请求和libxml2.dylib教程(1)

    深度解析Cocoa异步请求和libxml2.dylib教程是本文要介绍的内容,不多说,直接进入话题,很早就在cocoachina上看到这个框架了,今天终于有机会来使用这个东东了. 我这里写一下,如何往 ...

  6. Android中Gson解析json数据使用@SerializedName注解

    @SerializedName 此注解作用在属性上,表明这个属性在序列化成Json的时候,需要将名字序列化成注解的value属性指定的值. 我们有一段json数据如下: { "id" ...

  7. gson解析php,php,android_关于 Gson 解析JSON数据。。。,php,android - phpStudy

    关于 Gson 解析JSON数据... 1.首先,我是从服务器端传回来的JSON数据如下: {"info":"succeed","user_id&qu ...

  8. Android Kotlin Gson解析踩坑记录

    一.背景 一般我们在进行网络请求拿到返回结果之后,我们期望能够转化成对应的Java实体类,在这个转化过程中,可以使用自动解析的方式,也可以使用三方提供的工具类,比如Gson.FastJson等. 针对 ...

  9. android gson解析封装,android之Gson解析json的封装

    首先需要导入Gson这个类以及gson的反射包 import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; 1. 解析 ...

最新文章

  1. 康复治疗学可以考计算机吗,【大揭秘】2018“人机对话”康复医学治疗技术专业技术资格考试...
  2. 人工智能创业指南:AI 产品未来的发展模式及策略
  3. Require.js
  4. Android开发之LisitView的图文并排效果实现(源代码分享)
  5. 帮助创建未来的 .NET 客户端开发
  6. SpringMVC-注解@RequestParam
  7. Microsoft SQL Server学习(二)
  8. 人造卫星为什么会绕着地球转而不是停在太空中或者越飞越远.掉进地球的卫星为什么烧不完....
  9. Java 9:好的,坏的和私有的接口方法
  10. Map-Reduce的逻辑过程
  11. wpf 使子ui元素可视区域不超过父元素_对游戏UI设计的一点思考
  12. python博客项目评论_Python 爬虫入门——小项目实战(自动私信博客园某篇博客下的评论人,随机发送一条笑话,完整代码在博文最后)...
  13. 新松机器人发行价_知识创造财富,“机器人第一股”背后的院士是怎样炼成的?...
  14. Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析【转】
  15. c语言 office 二级成绩查询,【2019年9月辽宁计算机二级考试成绩查询入口】- 环球网校...
  16. 白话 discuz加密解密算法,包你懂
  17. 图像处理系统概述(白皮书)
  18. 拓扑排序:Kahn算法
  19. jmeter线程跳转_有什么方法调用jmeter的接口
  20. html 让360浏览器兼容模式,360浏览器兼容模式的设置方法

热门文章

  1. 详解MySQL字符串函数CONCAT()、CONCAT_WS()、INSERT()、REPLACE()、LOWER()、UPPER()用法(二)
  2. linux fedora自定义终端terminal的快捷键
  3. centos7离线安装tengine所需依赖
  4. 【收藏】CDH6.2.1 配置Flink1.10(编译安装)
  5. containerd安装及常用命令
  6. openshift介绍及centos7安装单节点openshift、Redhat安装openshift集群完全教程
  7. scala web框架:play framework框架
  8. Apollo配置灰度发布
  9. Java设计模式之享元flyweight模式代码示例
  10. eureka client客户端启动时都做了哪些事