Я пытаюсь проверить, существуют ли сотни 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, но также и то, что веб-сайт не истекает.