查看一个网站的2个不同网页,一个正常显示,另一个完全乱码,包括英文都是乱码。郁闷~~
后来看了下这两个网页返回的header,发现一个的content-encoding是gzip,另一个没有,没有的就正常显示~~于是发现问题就在这。
添加以下代码
String contentEncoding = "";
if (method.getResponseHeader("Content-Encoding") != null) {
contentEncoding = method.getResponseHeader("Content-Encoding")
.getValue();
if (contentEncoding.indexOf("gzip") != -1) {
GZIPInputStream gzipin = new GZIPInputStream(
method.getResponseBodyAsStream());
br = new BufferedReader(new InputStreamReader(gzipin, charset));
}
} else {
br = new BufferedReader(new InputStreamReader(
method.getResponseBodyAsStream(), charset));
}
即gzip解压缩inputstream~~这样乱码就解决了~~~
后来看了下这两个网页返回的header,发现一个的content-encoding是gzip,另一个没有,没有的就正常显示~~于是发现问题就在这。
添加以下代码
String contentEncoding = "";
if (method.getResponseHeader("Content-Encoding") != null) {
contentEncoding = method.getResponseHeader("Content-Encoding")
.getValue();
if (contentEncoding.indexOf("gzip") != -1) {
GZIPInputStream gzipin = new GZIPInputStream(
method.getResponseBodyAsStream());
br = new BufferedReader(new InputStreamReader(gzipin, charset));
}
} else {
br = new BufferedReader(new InputStreamReader(
method.getResponseBodyAsStream(), charset));
}
即gzip解压缩inputstream~~这样乱码就解决了~~~