2010-12-27 9 views
1

HTMLコンテンツを抽出したいウェブサイトに接続しようとしています。私のアプリケーションは決してサイトに接続しません - タイムアウトのみ。任意のアイデアをいただければ幸いですJava URLの接続タイムアウト

URL url = new URL("www.website.com"); 
URLConnection connection = url.openConnection(); 
connection.setConnectTimeout(2000); 
connection.setReadTimeOut(2000); 
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()); 
String line; 

while ((line = reader.readLine()) != null) { 
    // do stuff with line 
} 

reader.close(); 

は、ここに私のコードです。ありがとう!

私はURLがなければなりません(つまり、あなたがプロトコルを必要とする。)と考えてい
+0

あなたのブラウザでそのウェブサイトにアクセスできますか?任意のプロキシセット? –

+0

ええ、ブラウザでウェブサイトにアクセスできます。プロキシセットではありません。どうすればわかりますか? – webren

+0

実際にタイムアウトを2秒に設定していますか?ページをどのくらい複雑に読み込んでいますか?タイムアウトを10分ほど高いものに変更して、データをロードできるかどうか確認してください。 –

答えて

3

URL url = new URL("http://www.website.com"); 

それは、私たちが何を推測する必要はありませんので、問題を示し、あなたの本当のSSCCEを投稿解決しない場合try/catchブロックを正しく使用しているかどうか、あるいは例外を無視しているかどうかはわからないからです。

+0

URLコンテキスト:://

+0

実際のコードでは、httpプロトコルを使用していました。私のコード内に見られるものは、publicであるメソッドのシグネチャに期待されるものです。testURLConnection()はIOExceptionをスローします。 whileループの内部で行が印刷されます。私の主な目的は、WebページのHTMLコンテンツを解析することですが、まず小さくして最初に接続できることを確認することをお勧めします。 – webren

+0

私は同意します。内容を解析する前にまず接続をテストする必要があります。だからあなたのテストプログラムは約15行のコードでなければなりません。あなたのSSCCEを投稿して、あなたが何をしているのか推測する必要はありません。そのようにして、私たちは自分自身もコピー/ペーストやテストコードを作成することができます。また、なぜタイムアウト値を設定するのが簡単なテストですか?例えばstackoverflowのような他のURLを試してみましたか? – camickr