应使用来自Android客户端发送gzip压缩JSON到服务器什么头?(What header sh

2019-06-26 04:14发布

这个问题是扩展的问题在这里 。 我使用的代码在这里抄录如下,以GZIP压缩JSONObject

String foo = "value";
ByteArrayOutputStream baos = new ByteArrayOutputStream();
GZIPOutputStream gzos = null;

try {
    gzos = new GZIPOutputStream(baos);
    gzos.write(foo.getBytes("UTF-8"));
} finally {
    if (gzos != null) try { gzos.close(); } catch (IOException ignore) {};
}

byte[] fooGzippedBytes = baos.toByteArray();

我使用的是DefaultHttpClient发送该压缩的JSONObject服务器(代码是在我的控制)。

我的问题

我应该在使用什么样的标题request ? 我使用request.setHeader("Content-type", "application/json"); 发送JSON服务器?

Answer 1:

要通知您发送gzip压缩数据的服务器,发送的内容编码头,不接受编码 。



Answer 2:

这个答案显示您需要设置一个头表示要发送的数据压缩:

HttpUriRequest request = new HttpGet(url);
request.addHeader("Content-Encoding", "gzip");
// ...
httpClient.execute(request);

答案还说明了如何处理传入的压缩数据。



文章来源: What header should be used for sending GZIP compressed JSON from Android Client to Server?