【发布时间】:2017-01-21 07:34:28
【问题描述】:
我有一段代码可以读取 url 页面内容,此代码适用于许多页面,但不适用于以下链接:
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("*******************************");
}
这需要很多时间,但在输出中没有得到任何结果(或任何异常)。
服务器是否可能有某种算法不响应机器人的请求?
如何解决这个问题?
【问题讨论】:
-
附带说明,您应该刷新缓冲区,因为关闭并不总是执行完全刷新。我已经被这个咬过几次了。更好的是,使用资源块
标签: java http url jakarta-ee