HttpUrlConnection读取输入流 - 不同的输出结果

时间:2015-09-07 18:17:00

标签: java character-encoding inputstream httpurlconnection

下面的方法是为获取给定url的html页面的源代码而设计的,但它在每个调用中返回不同字符集中的结果(在每个调用参数url中都相同),请解释我为什么?

private String getSourceCode(URL url) {
    HttpURLConnection conn = (HttpURLConnection)url.openConnection();
    conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel MacOS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

    return IOUtils.toString(conn.getInputStream()); 
}

1 个答案:

答案 0 :(得分:1)

实际上有几个可能的原因。例如,在URL后面实际上可以有几个不同的服务器具有不同的默认响应编码。服务器可以使用utf-8提供第一个呼叫,另一个服务器可以使用其他编码服务。