2017-01-21 13 views
0

に動作していないDOS、このコードは、多くのページのために良い取り組んでいるが、下記のリンクのようないくつかのページでは動作しません線量:url.openStreamは()私は、URLのページの内容を読み取るためのコードのブロックを持っているいくつかのウェブページのための

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("*******************************"); 

} 

多くの時間がかかりますが、出力に何らかの結果(または例外)がありません。

サーバにはロボットからの応答要求を行わないアルゴリズムがありますか?

この問題を解決するにはどうすればよいですか?

+0

バッファーをフラッシュする必要があります。バッファーを閉じると、必ずしも完全にフラッシュするわけではありません。私はこれで何度か噛みました。さらに良いことに、リソースブロック – gwnp

答えて

1

httpclient isteadを使用する必要があります。ここでは良い例が見つかるでしょう:http://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/

+0

を使用してください。 – user3600935

+0

親愛なる友人このリンクのコードを試してみるととても感謝しています。http://www.sciencedirect.com/science/article/pii/S0278584699000251ロボットの訪問を防ぐセキュリティプロトコルはありますか? – user3600935

+0

サイトをテストしますが、ソリューションはステータス301(httpリダイレクト)とCookieを処理する必要があります。サイトは301とクッキーを返します。リダイレクトされたURLは、Cookieがあるかどうかを確認します。クッキーが見つからない場合、あなたは貧しいロボットとみなされます。 – Skywalker

関連する問題