【发布时间】:2014-07-31 19:31:35
【问题描述】:
所以我一直在尝试从 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();
例如: 有谁知道它为什么这样做? 谢谢!
【问题讨论】:
-
乱码是什么意思?我运行了你的代码,我刚刚得到了页面的 html。
-
我添加了一张图片来说明。
-
也许可以尝试添加一个字符集参数,例如
BufferedReader in = new BufferedReader(new InputStreamReader(new URL("http://somesite.com/").openStream(), "UTF-8")); -
应该是UTF-8吗?也许该站点正在使用其他字符集。想象一下,如果网站以 EBCDIC 格式返回页面(并返回适当的 Content-Type:text/html;charset=EBCDIC 标头),您可能会造成怎样的破坏。
-
@DavidConrad 你是对的。我的错。我使用的字符集只是一个例子。检查
Content-Type的标头和字符集是查看返回内容的方法