有没有什么方法可以只从服务器获取网页的头部部分,而不需要下载整个文档?虽然 HTTP header 中有 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();
关于java - java中如何仅从服务器获取网页的头部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29284396/