Java Android中的GZIP
我只是想问一下在Android中使用HttpClient为post请求发送gzip 从哪里获取要在GZIPOutputstream中传递的输出流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");
有任何代码片段吗?如下图所示的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内容也很有用。请查看此链接