Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

Get the Last-Modified Date Before HTTP Download

See more HTTP Examples

Demonstrates how to send a HEAD request to get the last-modified date of a file on a web server (without downloading the file).

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.DateTime;
import com.chilkatsoft.chilkat2.DtObj;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpResponse;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes the Chilkat API to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        HttpResponse resp = new HttpResponse();
        try {
            http.httpNoBody("HEAD", "https://www.chilkatsoft.com/hamlet.xml", resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Examine the response header.
        System.out.println(resp.getHeader());

        // Here is a sample response header:

        //     Content-Length: 279658
        //     Content-Type: text/xml
        //     Last-Modified: Thu, 12 May 2016 15:14:08 GMT
        //     Accept-Ranges: bytes
        //     ETag: "c1cd8bee60acd11:0"
        //     Server: Microsoft-IIS/8.5
        //     X-Powered-By: ASP.NET
        //     X-Powered-By-Plesk: PleskWin
        //     Date: Thu, 25 Jul 2019 16:40:54 GMT

        // Get the Last-Modified header.
        String lastModStr = resp.getHeaderField("Last-Modified");
        // If the header exists...
        if (lastModStr != null) {
            // Parse the RFC822 format date/time string
            DateTime ckdt = new DateTime();
            ckdt.setFromRfc822(lastModStr);

            // If we want to access individual date/time parts (in the local timezone)
            DtObj dt = new DtObj();
            ckdt.toDtObj(true, dt);

            System.out.println("day/month/year = " + dt.getDay() + "/" + dt.getMonth() + "/" + dt.getYear());
        }
    }
}