Последнее изменение и размер веб-страницы

#java

#java

Вопрос:

Я хотел бы спросить, как получить дату последнего изменения и размер (например, 500 КБ) веб-страницы? Что касается даты изменения: я перепробовал множество веб-страниц, но все они возвращают 0. например

 URL url = new URL(htmlList.elementAt(i));
URLConnection connection = url.openConnection();
connection.connect();
time = connection.getLastModified();
 

Комментарии:

1. Я не знаком с Java, но я предполагаю, что вам нужно будет запросить ЗАГОЛОВОК после подключения, чтобы размер и дата изменения стали доступны.

Ответ №1:

Вы можете получить Content-Length заголовок или размер. connection.getContentLength()

Last-Modified Заголовок может не быть установлен для динамических страниц, но в любом случае попробуйте (например, Stackoverflow устанавливает его). Если оно равно 0, предположим, что текущее время.

Ответ №2:

Попробуйте этот способ:-

 // 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) amp;amp; (-i > 0))
            {
                System.out.print((char)c);
            }
            input.close();
        }
        else
        {
            System.out.println("No Content Available");
        }
    }
}
 

Ответ №3:

Динамически сгенерированные веб-страницы обычно не имеют поля последнего изменения, и разные веб-страницы включают даты по-разному. Некоторые сайты даже не включают такую дату, включая «©» внизу. Вы можете попробовать поискать дату внизу или вверху, но надежное извлечение даты с веб-страницы должно зависеть от конкретного сайта.