Java:从URL读取会产生乱码

时间:2014-07-31 19:31:35

标签: java html url encoding

所以我一直在尝试从kickass.to读取html代码(它在其他网站上运行正常)但我得到的只是一些奇怪的胡言乱语。 我的代码:

BufferedReader in = new BufferedReader(
                 new InputStreamReader(new URL("http://kickass.to/").openStream()));
            String s = "";
            while ((s=in.readLine())!=null) System.out.println(s);
            in.close();

例如: enter image description here 有谁知道它为什么这样做? 谢谢!

1 个答案:

答案 0 :(得分:2)

这里的问题是服务器可能未正确配置,因为它返回其响应gzip压缩,即使客户端没有发送Accept-Encoding: gzip标头。

所以你所看到的是页面的压缩版本。要解压缩,请将其传递给GZIPInputStream

BufferedReader in = new BufferedReader(
    new InputStreamReader(
         new GZIPInputStream(new URL("http://kickass.to/").openStream())));