我想问一下如何获取网页的最后修改日期和大小(例如500KB)? 对于修改日期:我尝试了很多网页,但所有网页都返回0。 例如
URL url = new URL(htmlList.elementAt(i));
URLConnection connection = url.openConnection();
connection.connect();
time = connection.getLastModified();
答案 0 :(得分:1)
您可以获得Content-Length
标题或大小。 connection.getContentLength()
可能没有为动态页面设置Last-Modified
标头,但无论如何都要尝试它(例如,Stackoverflow设置它)。如果为0,则假设当前时间。
答案 1 :(得分:1)
尝试这种方式: -
// Demonstrate URLConnection.
import java.net.*;
import java.io.*;
import java.util.Date;
class UCDemo
{
public static void main(String args[]) throws Exception
{
int c;
URL hp = new URL("http", "www.google.com", 80, "/");
System.out.print(hp);
URLConnection hpCon = hp.openConnection();
System.out.println("Date: " + new Date(hpCon.getDate()));
System.out.println("Content-Type: " +
hpCon.getContentType());
System.out.println("Expires: " + hpCon.getExpiration());
System.out.println("Last-Modified: " +
new Date(hpCon.getLastModified()));
int len = hpCon.getContentLength();
System.out.println("Content-Length: " + len);
if (len > 0)
{
System.out.println("=== Content ===");
InputStream input = hpCon.getInputStream();
int i = len;
while (((c = input.read()) != -1) && (-i > 0))
{
System.out.print((char)c);
}
input.close();
}
else
{
System.out.println("No Content Available");
}
}
}
答案 2 :(得分:0)
动态生成的网页通常没有Last-Modified字段,不同的网页以不同的方式包含日期。有些网站甚至没有包含这样的日期,包括底部的“©”。您可以尝试在底部或顶部附近查找日期,但可靠地从网页中提取日期必须是特定于站点的。