我需要检查一个特定的 url"http://16.100.106.4/xmldata?item=all"
是否有效?现在的事情是,如果 url 不起作用,我使用下面的代码,然后连接超时等待大约 20 秒,然后给出异常。现在,我必须检查大约 20000 个 IP 的 URL,我不能等待那么长时间。线程可以是一种选择,但我也不确定我应该去多少线程。我希望在几秒钟内完成整个操作。
public static boolean exists(String URLName){
boolean available = false;
try{
final URLConnection connection = (URLConnection) new URL(URLName).openConnection();
connection.connect();
System.out.println("Service " + URLName + " available, yeah!");
available = true;
} catch(final MalformedURLException e){
throw new IllegalStateException("Bad URL: " + available, e);
} catch(final Exception e){
// System.out.print("Service " + available + " unavailable, oh no!", e);
available = false;
}
return available;
}