java Http请求乱码 返回值gzip

来源:互联网 发布:真空压缩袋 知乎 编辑:程序博客网 时间:2024/06/07 09:16

用java请求一个天气接口,发现乱码。
用chrome访问乱码,360极速正常显示。
后来发现返回的gzip格式的
Content-Encoding:gzip

用java访问时妥妥的乱码就不用考虑是否解码问题
不需要第三方jar包,导入一个工具类就可以了

import java.util.zip.GZIPInputStream;HttpClient httpClient = new DefaultHttpClient();String url = "http://wthrcdn.etouch.cn/weather_mini?citykey=101070101"; // 天气接口HttpGet httpGet = new HttpGet(url);HttpResponse response = httpClient.execute(httpGet);try {    HttpEntity responsetEntity = response.getEntity();    InputStream inputStream = responsetEntity.getContent();    InputStream stream = new GZIPInputStream(inputStream); // 就加个这行就ok了    if(stream != null){        String data = IOUtils.toString(stream, "utf-8"); // 返回值    }catch(Exception e){}