我寫了一個Java程序,它從網頁中刪除了一些內容。它通過每隔幾秒調用readWebPage
方法來檢索內容。我遇到的問題是隻有第一次閱讀實際上有效。在第一次閱讀網頁後,InputStream
總是顯示爲空(in.ready()
返回false
)。如何反覆讀取HttpURLConnection?
而且,conn.getContentLength()
每次都會返回相同的值,即使頁面上的內容已更改。如果我重新啓動程序,新內容將被正確提取。
我錯過了什麼?我需要在conn
對象上執行某種刷新嗎?
private String readWebpage(HttpURLConnection conn) throws IOException{
conn.connect();
InputStreamReader in = new InputStreamReader((InputStream) conn.getContent());
BufferedReader buffer = new BufferedReader(in);
StringBuilder b = new StringBuilder(conn.getContentLength()+5);
String line;
while ((line=buffer.readLine())!=null){
b.append(line);
}
in.close();
buffer.close();
return b.toString();
}
一旦完成,你是否總是關閉你的Http連接? – 2011-03-11 21:02:53
一旦我完成,我已經嘗試調用'conn.disconnect()',但它似乎沒有區別。 – 2011-03-11 21:06:06