android 压缩json数据处理,如何压缩JSONObject在Android中通过Http发送它?

CraigTeegard..

13

在Gingerbread中,我们添加了透明响应压缩.HttpURLConnection将自动将此标头添加到传出请求,并处理相应的响应:

Accept-Encoding:gzip

然后,您的网络服务器需要处理gzip压缩.

编辑2:

使用DefaultHttpClient进行Gzip压缩使用HttpClient启用GZip压缩

private static final String HEADER_ACCEPT_ENCODING = "Accept-Encoding";

private static final String ENCODING_GZIP = "gzip";

final DefaultHttpClient client = new DefaultHttpClient(manager, parameters);

client.addRequestInterceptor(new HttpRequestInterceptor() {

public void process(HttpRequest request, HttpContext context) {

// Add header to accept gzip content

if (!request.containsHeader(HEADER_ACCEPT_ENCODING)) {

request.addHeader(HEADER_ACCEPT_ENCODING, ENCODING_GZIP);

}

}

});

client.addResponseInterceptor(new HttpResponseInterceptor() {

public void process(HttpResponse response, HttpContext context) {

// Inflate any responses compressed with gzip

final HttpEntity entity = response.getEntity();

final Header encoding = entity.getContentEncoding();

if (encoding != null) {

for (HeaderElement element : encoding.getElements()) {

if (element.getName().equalsIgnoreCase(ENCODING_GZIP)) {

response.setEntity(new InflatingEntity(response.getEntity()));

break;

}

}

}

}

});

编辑3:

这是关于使用Java中的HTTPClient对邮件内容GZip POST请求进行gzipping的另一个Stackoverflow问题.您需要在发布数据之前手动gzip数据,因为正常的http/gzip操作是将gzip压缩内容发送到客户端的服务器.

Edit3为+1.让我试一试.我会回来的.谢谢. (2认同)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值