2015-09-07 39 views
1

下面的方法被設計爲獲得給定url的html頁面的源代碼,但是它在每個調用中返回不同字符集中的結果(每個調用參數url都一樣),請說明原因?HttpUrlConnection讀取輸入流 - 不同的輸出結果

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()); 
} 
+0

遠程站點有幽默感。 – wero

+0

也許:)當我檢查響應競爭類型字符集總是UTF-8,但結果是不同的... –

+0

你可以檢查輸出的差異是什麼? –

回答

1

其實有幾個可能的原因。例如,在URL後面實際上可能有幾個不同的服務器,具有不同的默認響應編碼。第一次呼叫可以由服務器以utf-8來服務,另一個可以由另一個服務器以另一種編碼來服務。