Sample code for 30+ languages & platforms
Lua 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 Lua Downloads

Lua
local chilkat = require("chilkat")

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

local http = chilkat.Http.new()

local resp = chilkat.HttpResponse.new()
local success = http:http_no_body("HEAD", "https://www.chilkatsoft.com/hamlet.xml", resp)
if not success then
    print(http.last_error_text)
    return
end

-- 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.
local lastModStr = resp:get_header_field("Last-Modified")
-- If the header exists...
if resp.last_method_success then
    -- Parse the RFC822 format date/time string
    local ckdt = chilkat.DateTime.new()
    ckdt:set_from_rfc822(lastModStr)

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

    print("day/month/year = " .. dt.day .. "/" .. dt.month .. "/" .. dt.year)
end