Web サイトの HTML を取得するためにサーバー (私は書いていません) にクエリを実行していますが、サーバーにはいくつかのバグがあり、応答が返されないことがあります。メソッドに問題がありますが、起動するのに数分かかり、その間にコードが行き詰まります。エラーは rd = new BufferedReader(new Input... 行で発生します。サーバーが 1 秒または 2 秒以内に応答を返さない場合、タイマーを使用してコードを強制的にメソッドから除外する方法はありますか?コードが実行される数百回ごとにのみ、このバグが発生します。
public String getHTML(String urlToRead) {
URL url;
HttpURLConnection conn;
BufferedReader rd;
String line;
String result = "";
try {
url = new URL(urlToRead);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
while ((line = rd.readLine()) != null) {
result += line;
}
rd.close();
} catch (Exception e) {
e.printStackTrace();
}
return result;
}