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

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Http
oleobject loo_Resp
string ls_LastModStr
oleobject loo_Ckdt
oleobject loo_Dt

li_Success = 0

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

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

loo_Resp = create oleobject
li_rc = loo_Resp.ConnectToNewObject("Chilkat.HttpResponse")

li_Success = loo_Http.HttpNoBody("HEAD","https://www.chilkatsoft.com/hamlet.xml",loo_Resp)
if li_Success = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_Resp
    return
end if

//  Examine the response header.
Write-Debug loo_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.
ls_LastModStr = loo_Resp.GetHeaderField("Last-Modified")
//  If the header exists...
if loo_Resp.LastMethodSuccess = 1 then
    //  Parse the RFC822 format date/time string
    loo_Ckdt = create oleobject
    li_rc = loo_Ckdt.ConnectToNewObject("Chilkat.CkDateTime")

    loo_Ckdt.SetFromRfc822(ls_LastModStr)

    //  If we want to access individual date/time parts (in the local timezone)
    loo_Dt = create oleobject
    li_rc = loo_Dt.ConnectToNewObject("Chilkat.DtObj")

    loo_Ckdt.ToDtObj(1,loo_Dt)

    Write-Debug "day/month/year = " + string(loo_Dt.Day) + "/" + string(loo_Dt.Month) + "/" + string(loo_Dt.Year)
end if



destroy loo_Http
destroy loo_Resp
destroy loo_Ckdt
destroy loo_Dt