내 Java 코드의 URL에서 읽으려고합니다. 그러나로드 할 때 명령을 실행하고 완전히로드되기 전에 InputStreamReader가 페이지를 읽습니다. 그래서 내 버퍼 된 리더는 실제 내용이로드되기 전에 페이지의 HTML 만 수집합니다.Java에서 URL에서 내용을 읽기 전에 페이지가로드 될 때까지 기다려주십시오.
나의 주요 목표는 페이지에서 "영업"이라는 단어를 찾는 것이지만 전체 페이지가로드되기 전에 열린 스트림이 연결되어 있다면이를 수행 할 수 없습니다. 로드 할 때까지 기다릴 수있는 방법이 있습니까?
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'는 스트림에 더 이상 내용이 없을 때까지 순차적으로 페이지를 읽습니다. 페이지가 쓴 내용은 모두 읽혀집니다. 페이지가 동적 인 경우에도 내용을 계속 가져옵니다. 로드 후 작업이 자바 스크립트에서 수행되면 자바 스크립트를 실행하거나 가져 오지 않기 때문에이 방법은 절대로 작동하지 않습니다. – jiggy