我正在閱讀我的java代碼中的url,但是我想要讀取的頁面在加載時執行命令,並且InputStreamReader在完成加載之前讀取頁面,所以我的緩衝閱讀器僅在加載真實內容之前收集頁面上的HTML。從Java中的URL讀取內容之前加載頁面
我的主要目標是在頁面上找到單詞「sales」,但如果打開的流在加載完整頁面之前已連接,則無法執行此操作。有沒有辦法等待它加載或什麼?
這裏是我的代碼:
URL url = new URL("http://urlgoeshere.com?"+ withAParam);
URLConnection uc = url.openConnection();
uc.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
String inputLine = in.readLine();
int index = -1;
while ((inputLine = in.readLine()) != null){
index=inputLine.toLowerCase().indexOf("sales");
if(index>=0){
log.info("Found sales!");
break;
}
}
if (in != null){
in.close();
}
這沒有意義。 「BufferedReader」將順序讀取頁面,直到流沒有更多內容。頁面寫入的任何內容都將被讀取。如果頁面是動態的,它仍然會提取內容。如果加載後的操作是在JavaScript中完成的,那麼這種方法將無法執行,因爲它不會執行,甚至不會獲取JavaScript。 – jiggy