我正在测试是否存在数百个 URL,而我目前的方式需要太多时间。这是我到目前为止发现的:
public static boolean checkURL(URL u)
{
HttpURLConnection connection = null;
try
{
connection = (HttpURLConnection) u.openConnection();
connection.setRequestMethod("HEAD");
int code = connection.getResponseCode();
System.out.println("" + code);
// You can determine on HTTP return code received. 200 is success.
if (code == 200)
{
return true;
}
else
{
return false;
}
}
catch (MalformedURLException e)
{
// TODO Auto-generated catch block
// e.printStackTrace();
System.out.println("error");
}
catch (IOException e)
{
System.out.println("error2");
// TODO Auto-generated catch block
// e.printStackTrace();
}
finally
{
if (connection != null)
{
connection.disconnect();
}
}
return false;
}
虽然这确实成功地找到了一个 URL 是否存在并且有内容,但它会在很长一段时间内完成,程序通常需要超过五分钟才能执行。有谁知道更有效的测试方法?
注意:重要的是要测试不仅url返回200,而且网站没有超时。
红颜莎娜
相关分类