![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Get the Last-Modified Date Before HTTP DownloadDemonstrates how to send a HEAD request to get the last-modified date of a file on a web server (without downloading the file). Note: This example requires Chilkat v11.0.0 or greater.
IncludeFile "CkHttpResponse.pb" IncludeFile "CkHttp.pb" IncludeFile "CkDateTime.pb" IncludeFile "CkDtObj.pb" Procedure ChilkatExample() success.i = 0 ; This example assumes the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. http.i = CkHttp::ckCreate() If http.i = 0 Debug "Failed to create object." ProcedureReturn EndIf resp.i = CkHttpResponse::ckCreate() If resp.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkHttp::ckHttpNoBody(http,"HEAD","https://www.chilkatsoft.com/hamlet.xml",resp) If success = 0 Debug CkHttp::ckLastErrorText(http) CkHttp::ckDispose(http) CkHttpResponse::ckDispose(resp) ProcedureReturn EndIf ; Examine the response header. Debug CkHttpResponse::ckHeader(resp) ; 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. lastModStr.s = CkHttpResponse::ckGetHeaderField(resp,"Last-Modified") ; If the header exists... If CkHttpResponse::ckLastMethodSuccess(resp) = 1 ; Parse the RFC822 format date/time string ckdt.i = CkDateTime::ckCreate() If ckdt.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkDateTime::ckSetFromRfc822(ckdt,lastModStr) ; If we want to access individual date/time parts (in the local timezone) dt.i = CkDtObj::ckCreate() If dt.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkDateTime::ckToDtObj(ckdt,1,dt) Debug "day/month/year = " + Str(CkDtObj::ckDay(dt)) + "/" + Str(CkDtObj::ckMonth(dt)) + "/" + Str(CkDtObj::ckYear(dt)) EndIf CkHttp::ckDispose(http) CkHttpResponse::ckDispose(resp) CkDateTime::ckDispose(ckdt) CkDtObj::ckDispose(dt) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.