有没有什么方法可以从服务器上只获取网页的头部,这样就不需要下载整个文档了?。虽然在HTTP头中有一个Range选项,但所有服务器都不支持它。此外,每个网页的头部分大小也不相同。
您可以为要解析的网站创建一个InputStream
。然后使用BufferedInputStream
,并手动解析内容。如果你认为你已经完成了(例如达到</head>
),你可以关闭流。这样你就不会下载所有的HTML内容。
代码:
InputStream is = new URL("http://www.website.com/").openStream();
BufferedInputStream bis = new BufferedInputStream(is);
Reader rdr = new InputStreamReader(bis);
boolean finished = false;
while(! finished) {
String line = rdr.readLine();
if (line.indexOf("</head>") >= 0) {
finished = true;
} else {
// parse or save the header
}
}
bis.close();