Я пытаюсь найти наиболее эффективный способ тестирования 300 000 + URL-адресов в базе данных, чтобы в основном проверить, действительно ли URL-адреса остаются действительными. Осмотрев сайт, я нашел много отличных ответов и теперь использую что-то вроде:
Прочитать URL из файла.... Тестовый URL:
final URL url = new URL("http://" + address);
final HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
urlConn.setConnectTimeout(1000 * 10);
urlConn.connect();
urlConn.getResponseCode(); // Do something with the code
urlConn.disconnect();
Напишите подробности в файл....
Итак, пару вопросов: 1) Есть ли более эффективный способ проверки URL-адресов и получения кодов ответов?
2) Первоначально я могу протестировать около 50 URL-адресов в минуту, но через 5 или около того вещи действительно замедляются - я думаю, есть некоторые ресурсы, которые я не выпускаю, но не уверен, что
3) Некоторые URL-адреса (например, www.bhs.org.au) приведут к тому, что вышеуказанное значение будет зависеть в течение нескольких минут (это не очень хорошо, когда у меня так много URL-адресов для тестирования) даже при установленном тайм-ауте подключения, все равно я могу затянуть это вверх?
Заранее спасибо за любую помощь, прошло уже несколько лет с тех пор, как я написал любой код, и я начинаю с нуля: -)