/**
* 根据HttpGetMethod得到response,若返回的页面是gzip压缩的,则解析后返回
*
* @param get
* @param size 1 << 23
* @return
* @throws IOException
*/
public static String getResponseBodyAsString(GetMethod get, int size) throws IOException {
GZIPInputStream gzin;
if (get.getResponseBody() != null || get.getResponseBodyAsStream() != null) {
if (get.getResponseHeader(CONTENT_ENCODING) != null
&& get.getResponseHeader(CONTENT_ENCODING).getValue().toLowerCase().indexOf("gzip") > -1) {
//For GZip response
InputStream is = get.getResponseBodyAsStream();
gzin = new GZIPInputStream(is);
InputStreamReader isr = new InputStreamReader(gzin, get.getResponseCharSet());
BufferedReader br = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
String tempbf;
while ((tempbf = br.readLine()) != null) {
sb.append(tempbf);
sb.append("\r\n");
}
isr.close();
gzin.close();
return sb.toString();
} else {
//For deflate response
return get.getResponseBodyAsString(size);
}
} else {
return null;
}
}