【发布时间】:2016-08-21 12:18:54
【问题描述】:
我正在尝试使用URLConnection 加载XML 页面的内容,但我得到了垃圾字符。相同的代码几乎适用于任何其他网站,所以我不确定是什么问题。
下面是相关代码:
String url = "http://myUrl";
URL url = new URL(urlString);
URLConnection conn = url.openConnection();
conn.setConnectTimeout(60*2000); // wait only 60 seconds for a response
conn.setReadTimeout(60*2000);
InputStreamReader isr = new InputStreamReader(conn.getInputStream(), encoding);
BufferedReader in = new BufferedReader(isr);
String inputLine;
while ((inputLine = in.readLine()) != null) {
wholeDocument += inputLine;
}
打印出wholeDocument 会产生一堆这样的字符:er���;�pI.���$6
我正在使用encoding = 'UTF-8'。
我也尝试过使用XML 库,例如:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(new URL(baseUrl).openStream());
System.out.println("doc = " + doc);
但结果是一样的。在终端应用程序中使用curl 时(我使用的是mac)结果是相似的,尽管字符看起来像这样:???0??KZV??????0N6?aH:$?X9v???$>???`
知道如何解决这个问题吗?
【问题讨论】:
标签: java xml web-crawler