使用第三方接口获取数据时遇到了一个问题,请求第三方api数据时,返回的数据是经过gzip格式压缩的。
这就导致我无法获得数据,在百度了许久后,终于找到了一个解决办法。办法如下:
//通过传入的url读取数据
public static String readGzipURL(String url) throws IOException {
StringBuffer sb = new StringBuffer();
URL url1 = new URL(url);
URLConnection conn = url1.openConnection();
InputStream is = conn.getInputStream();
//解压
GZIPInputStream gzip = new GZIPInputStream(is);
InputStreamReader isr = new InputStreamReader(gzip, "utf-8");
BufferedReader read = new BufferedReader(isr);
String line = null;
while ((line = read.readLine()) != null){
sb.append(line + " ");
}
read.close();
return sb.toString();
}