Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android中的GZIP_Java_Android - Fatal编程技术网

Java Android中的GZIP

Java Android中的GZIP,java,android,Java,Android,我只是想问一下在Android中使用HttpClient为post请求发送gzip 从哪里获取要在GZIPOutputstream中传递的输出流 有任何代码片段吗?如下图所示的Hi-UseHttpUriRequest String urlval=" http"//www.sampleurl.com/"; HttpUriRequest req = new HttpGet(urlval); req.addHeader("Accept-Encoding", "gzip");

我只是想问一下在Android中使用HttpClient为post请求发送gzip

从哪里获取要在GZIPOutputstream中传递的输出流


有任何代码片段吗?

如下图所示的Hi-UseHttpUriRequest

 String urlval=" http"//www.sampleurl.com/";
    HttpUriRequest req = new HttpGet(urlval);
    req.addHeader("Accept-Encoding", "gzip");
    httpClient.execute(req);
然后检查内容编码的响应,如下所示:

InputStream is = response.getEntity().getContent();
Header contentEncoding = response.getFirstHeader("Content-Encoding");
if (contentEncoding != null && contentEncoding.getValue().equalsIgnoreCase("gzip")) {
    is = new GZIPInputStream(is);
}

如果您的数据不太大,可以这样做:

HttpClient httpClient = new DefaultHttpClient();
HttpPost httpost = new HttpPost(POST_URL);

ByteArrayOutputStream baos = new ByteArrayOutputStream();
GZIPOutputStream gos = new GZIPOutputStream(baos);
gos.write(data.getBytes());
gos.close();
ByteArrayEntity byteArrayEntity = new ByteArrayEntity(baos.toByteArray());
httpost.setEntity(byteArrayEntity);

此人询问发送gzip的请求。上面的内容告诉服务器,您可以接受gzip的响应并在收到它们时处理它们,但它不会对传出的内容进行gzip。true,但对于测试我们是否接收到gzip内容也很有用。请查看此链接