我試圖使用緩衝讀者像如下使用Java的BufferedReader從URL
String charset = "UTF-8";
URLConnection connection = new URL(url).openConnection();
connection.addRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
connection.setRequestProperty("Accept-Charset", charset);
InputStream response = connection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(response,charset));
然後我讀它一行行這樣的讀取所有從頁面的HTML得到的HTML:
String data = br.readLine();
while(data != null){
data = br.readLine();
}
的問題是我得到這樣的:
}$B!)(BL$B!)(Bu"~$B!)$(D"C(B|X$B!x!)!x(B}
我已經試過這樣:
do {
data = br.readLine();
SortedMap<String, Charset> map = Charset.availableCharsets();
for(Map.Entry<String, Charset> entry : map.entrySet()){
System.out.println(entry.getKey());
try {
System.out.println(new String(data.getBytes(entry.getValue())));
} catch (Exception e) {
e.printStackTrace();
}
}
}while(data!=null)
我沒有得到任何可讀的html。這真的很奇怪,因爲它工作正常,直到今天早上,我沒有改變任何東西。 我在這裏做錯了什麼?是否有可能在我正在嘗試閱讀的網站中更改某些內容?請幫忙。
看起來像你正在訪問的數據流或加密的網站......但不可能說不知道URL ... – 2015-03-08 18:49:11
好吧。 。我怎麼知道這個網站是加密的?感謝您的回覆 – 2015-03-08 21:03:50
看看協議,它是https嗎?你訪問一個域或URL更深的路徑?那麼也許這只是一個流......但正如我所說沒有url沒有確定......如果你想保密,請不要求助,並告知你自己的網絡協議...... – 2015-03-08 21:19:42