Swift
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
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)")
}
}