Android:默认支持Gzip / Http?
作者:互联网
我正在使用下面显示的代码从我们的服务器获取数据,其中Gzip已打开.我的代码是否已经支持Gzip(也许这已经由android而不是我的java程序完成)或者我是否必须添加/更改smth.我如何检查它是否正在使用Gzip?对于我的opionion,下载有点慢.
private static InputStream OpenHttpConnection(String urlString) throws IOException {
InputStream in = null;
int response = -1;
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
if (!(conn instanceof HttpURLConnection))
throw new IOException("Not an HTTP connection");
try {
HttpURLConnection httpConn = (HttpURLConnection) conn;
httpConn.setAllowUserInteraction(false);
httpConn.setInstanceFollowRedirects(true);
httpConn.setRequestMethod("GET");
httpConn.connect();
response = httpConn.getResponseCode();
if (response == HttpURLConnection.HTTP_OK) {
in = httpConn.getInputStream();
if(in == null)
throw new IOException("No data");
}
} catch (Exception ex) {
throw new IOException("Error connecting");
}
return in;
}
解决方法:
任何现代的http lib都支持Gzip压缩,它是标准的一部分.
但您可能需要发送标题:“Accept-Encoding:gzip”
您可以在LAN或服务器上检查它是否真的可以使用嗅探器.您还可以检查响应标头,但这需要更改代码(最有可能的是,您必须在Web服务器上打开gzip).
此外,您可以下载10Mb的空间文件.随着gzip上它将更快waaaaay
标签:android,gzipstream 来源: https://codeday.me/bug/20190610/1212733.html