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头信息相关推荐
- android 如何用httpclient发请求和利用httphead头信息给服务器
// 公共post类 public String HttpClientPost(String path, String str,String port, Context ctx) throws Exc ...
- android gson工具包,Android Study 之 彻底解决 Gson解析 异常
> LZ-Say:大风呼呼的刮,就好像妖精要来的前奏一样~ > > 前言 开发过程中,App常用的接收参数的时候,几乎大部分都是以json格式为主,那么有关解析json的方式有很多, ...
- 一起来开发Android的天气软件(四)——使用Gson解析数据
离上一篇文章过去才4.5天,我们赶紧趁热打铁继续完成该系列的天气软件的开发.承接上一章的内容使用Volley实现网络的通信,返回给我们的是这一串Json数据{"weatherinfo&quo ...
- Android之GSON解析JSON
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库. 比如: <pre name="code" class=" ...
- 深度解析Cocoa异步请求和libxml2.dylib教程(1)
深度解析Cocoa异步请求和libxml2.dylib教程是本文要介绍的内容,不多说,直接进入话题,很早就在cocoachina上看到这个框架了,今天终于有机会来使用这个东东了. 我这里写一下,如何往 ...
- Android中Gson解析json数据使用@SerializedName注解
@SerializedName 此注解作用在属性上,表明这个属性在序列化成Json的时候,需要将名字序列化成注解的value属性指定的值. 我们有一段json数据如下: { "id" ...
- gson解析php,php,android_关于 Gson 解析JSON数据。。。,php,android - phpStudy
关于 Gson 解析JSON数据... 1.首先,我是从服务器端传回来的JSON数据如下: {"info":"succeed","user_id&qu ...
- Android Kotlin Gson解析踩坑记录
一.背景 一般我们在进行网络请求拿到返回结果之后,我们期望能够转化成对应的Java实体类,在这个转化过程中,可以使用自动解析的方式,也可以使用三方提供的工具类,比如Gson.FastJson等. 针对 ...
- android gson解析封装,android之Gson解析json的封装
首先需要导入Gson这个类以及gson的反射包 import com.google.gson.Gson; import com.google.gson.reflect.TypeToken; 1. 解析 ...
最新文章
- 康复治疗学可以考计算机吗,【大揭秘】2018“人机对话”康复医学治疗技术专业技术资格考试...
- 人工智能创业指南:AI 产品未来的发展模式及策略
- Require.js
- Android开发之LisitView的图文并排效果实现(源代码分享)
- 帮助创建未来的 .NET 客户端开发
- SpringMVC-注解@RequestParam
- Microsoft SQL Server学习(二)
- 人造卫星为什么会绕着地球转而不是停在太空中或者越飞越远.掉进地球的卫星为什么烧不完....
- Java 9:好的,坏的和私有的接口方法
- Map-Reduce的逻辑过程
- wpf 使子ui元素可视区域不超过父元素_对游戏UI设计的一点思考
- python博客项目评论_Python 爬虫入门——小项目实战(自动私信博客园某篇博客下的评论人,随机发送一条笑话,完整代码在博文最后)...
- 新松机器人发行价_知识创造财富,“机器人第一股”背后的院士是怎样炼成的?...
- Android系统的智能指针(轻量级指针、强指针和弱指针)的实现原理分析【转】
- c语言 office 二级成绩查询,【2019年9月辽宁计算机二级考试成绩查询入口】- 环球网校...
- 白话 discuz加密解密算法,包你懂
- 图像处理系统概述(白皮书)
- 拓扑排序:Kahn算法
- jmeter线程跳转_有什么方法调用jmeter的接口
- html 让360浏览器兼容模式,360浏览器兼容模式的设置方法
热门文章
- 详解MySQL字符串函数CONCAT()、CONCAT_WS()、INSERT()、REPLACE()、LOWER()、UPPER()用法(二)
- linux fedora自定义终端terminal的快捷键
- centos7离线安装tengine所需依赖
- 【收藏】CDH6.2.1 配置Flink1.10(编译安装)
- containerd安装及常用命令
- openshift介绍及centos7安装单节点openshift、Redhat安装openshift集群完全教程
- scala web框架:play framework框架
- Apollo配置灰度发布
- Java设计模式之享元flyweight模式代码示例
- eureka client客户端启动时都做了哪些事