在1小时的时间内,每10到15秒,我用Java执行:
conn = (HttpURLConnection) url.openConnection();
conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");
BufferedReader bufrdr = new BufferedReader(new InputStreamReader(conn.getInputStream(), charDcdr));
我的目的是下载一堆网页,对它们进行标记,然后将它们存储在数据库中。我只是为了自己的学习而使用这些文件(没有任何恶意)。
它几乎总是有效,但我的连接请求时不时会抛出 UnknownHostException 或 NoRouteToHostException 。我抓住异常,等待10分钟,然后继续下载。没问题。但是,我很好奇。
我从网络浏览器请求的网页总是拉出一页。从Java内部请求有时会失败。
答案 0 :(得分:0)
浏览器通常会在非常绝望的尝试中重试,以便为您提供内容。如果您自己在短时间内编写简单的重试代码,则可能会获得更可靠的结果。慢响应名称服务器可能会调用UnknownHostException。如果您查询大量不同的主机,那么该区域中的问题是预期的,并且重试也会有帮助。您可以在计算机上配置不同的名称服务器(解析程序)以获得更可靠的答案。