Sample code for 30+ languages & platforms
Swift

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 Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let http = CkoHttp()!

    let resp = CkoHttpResponse()!
    success = http.httpNoBody(verb: "HEAD", url: "https://www.chilkatsoft.com/hamlet.xml", response: resp)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    // Examine the response header.
    print("\(resp.header!)")

    // 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.
    var lastModStr: String? = resp.getHeaderField(fieldName: "Last-Modified")
    // If the header exists...
    if resp.lastMethodSuccess == true {
        // Parse the RFC822 format date/time string
        let ckdt = CkoDateTime()!
        ckdt.set(fromRfc822: lastModStr)

        // If we want to access individual date/time parts (in the local timezone)
        let dt = CkoDtObj()!
        ckdt.toDtObj(bLocal: true, dtObj: dt)

        print("day/month/year = \(dt.day.intValue)/\(dt.month.intValue)/\(dt.year.intValue)")
    }


}