2014-07-22 65 views
0

我正在用Java编写一个解析网页中某些文本的程序。但是当我使用下面的代码时,我得到了奇怪/不正确的字符。从网页获取奇怪的字符

代码:

URL url = new URL(getSearchUrl(crit)); 
    URLConnection connection = url.openConnection(); 
    BufferedReader br = new BufferedReader(
      new InputStreamReader(connection.getInputStream(), "UTF-8")); 
    String line; 

    while((line = br.readLine()) != null){ 
     System.out.println(line); 
    } 

    br.close(); 

我得到以下输出:???

} 8节???? ...

所以我在做什么错?我知道我想从使用utf-8收集信息的网站。

编辑:我目前在Crotia。我尝试了一些我在塞尔维亚(我的祖国)工作过的其他计划,但在这里不起作用。

+1

什么是您要阅读的网站?有没有可能是HTTPS网址? –

+0

- getSearchUrl(crit)的输出是什么,意味着什么是URL字符串? –

+0

该网站是:http://kickass.to/usearch/svinja/。这是http。该网站也是getSearchUrl(暴击)的结果 –

回答

1

它是g-zipped。你可以使用connection.getContentEncoding()来看它。

如果您在connection.getInputStream()附近使用GZIPInputStream,它应该会更好。

BufferedReader br = new BufferedReader(
       new InputStreamReader(new GZIPInputStream(connection.getInputStream()), "UTF-8")); 
+0

谢谢,它的工作原理。 –