我有代碼塊讀取URL頁面內容的工作,這個代碼工作好了很多頁,但對於一些頁面,如下面的鏈接沒有作用:url.openStream()DOS不是某些網頁
http://www.sciencedirect.com/science/article/pii/S1351421012701725?np=y
public static String getDataFromWebPage(String url) {
try {
URL urlpage = new URL(url);
InputStream is = urlpage.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = "";
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
public static void main(String[] args) {
System.out.println("*******************************");
System.out.println("*******************************");
System.out.println(getDataFromWebPage("http://www.sciencedirect.com/science/article/pii/S1351421012701725?np=y"));
System.out.println("*******************************");
System.out.println("*******************************");
}
它需要很多時間,但它不會在輸出中得到任何結果(或任何異常)。
有沒有可能服務器有一些算法沒有從機器人的響應請求?
如何解決這個問題?
作爲一個方面說明,你應該刷新你的緩衝區,因爲關閉並不總是執行完全刷新。我已經這麼幾次了。更好的是,使用資源塊 – gwnp