Sample code for 30+ languages & platforms
PowerBuilder

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