我有一段代码来阅读网页内容,这段代码适用于很多页面但不适用于某些页面,如下面的链接:
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("*******************************");
}
需要很多时间,但输出中没有任何结果(或任何异常)。
服务器是否可能有一些算法不响应机器人的请求?
如何解决这个问题?
答案 0 :(得分:1)
你应该使用httpclient istead。你会在这里找到一个很好的例子:http://www.mkyong.com/java/how-to-send-http-request-getpost-in-java/