我试图找到最有效的方法来测试数据库中的 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 要测试时不好),有什么办法可以收紧吗?
在此先感谢您的帮助,自从我编写任何代码以来已经有好几年了,我又从头开始了:-)