我已經寫了一小段代碼應該下載特定網站上的文字與Jsoup(1.6.2)。Jsoup超時工作不正常
public String readPage(String url) {
try {
long start = System.currentTimeMillis();
String text = Jsoup.connect(url).timeout(10000).get().html();
System.out.println(System.currentTimeMillis() - start);
return text;
}
catch (IOException e) {
// we need to do this because the log file is flooded with useless error messages
if (e.getMessage().contains("Unhandled content type") ||
e.getMessage().contains("Premature EOF") ||
e.getMessage().contains("Read timed out") ||
e.getMessage().contains("403 error loading URL") ||
e.getMessage().contains("404 error loading URL") ||
e.getMessage().contains("405 error loading URL") ||
e.getMessage().contains("500 error loading URL") ||
e.getMessage().contains("503 error loading URL")) {
logger.debug(String.format("Error crawling website: %s", url));
}
else logger.error(String.format("Error crawling website: %s", url), e);
}
return "";
}
我開始在線程的列表,每個線程負責下載一個網站內這種方法。在我看來(這顯然是錯誤的),每個system.out應該顯示一個低於10000的數字,因爲Jsoup應該拋出一個異常。但事實並非如此,在標準輸出中有超過10萬次的時間跨度。
這怎麼可能和我在做什麼錯?
乾杯 丹尼爾
我很抱歉,但你能請詳細解釋一下嗎? –
@丹尼爾:見編輯 –