我写了一个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