我有代码块读取URL页面内容的工作,这个代码工作好了很多页,但对于一些页面,如下面的链接没有作用:url.openStream()DOS不是某些网页
http://www.sciencedirect.com/science/article/pii/S1351421012701725?np=y
public static String getDataFromWebPage(String url) {
try {
URL urlpage = new URL(url);
InputStream is = urlpage.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line = "";
while ((line = br.readLine()) != null) {
System.out.println(line);
}
br.close();
is.close();
} catch (Exception e) {
e.printStackTrace();
return "";
}
}
public static void main(String[] args) {
System.out.println("*******************************");
System.out.println("*******************************");
System.out.println(getDataFromWebPage("http://www.sciencedirect.com/science/article/pii/S1351421012701725?np=y"));
System.out.println("*******************************");
System.out.println("*******************************");
}
它需要很多时间,但它不会在输出中得到任何结果(或任何异常)。
有没有可能服务器有一些算法没有从机器人的响应请求?
如何解决这个问题?
作为一个方面说明,你应该刷新你的缓冲区,因为关闭并不总是执行完全刷新。我已经这么几次了。更好的是,使用资源块 – gwnp