Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) 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).
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Http, DtObj, HttpResponse, CkDateTime; ... procedure TForm1.Button1Click(Sender: TObject); var http: HCkHttp; resp: HCkHttpResponse; lastModStr: PWideChar; ckdt: HCkDateTime; dt: HCkDtObj; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. http := CkHttp_Create(); resp := CkHttp_GetHead(http,'https://www.chilkatsoft.com/hamlet.xml'); if (CkHttp_getLastMethodSuccess(http) = False) then begin Memo1.Lines.Add(CkHttp__lastErrorText(http)); Exit; end; // Examine the response header. Memo1.Lines.Add(CkHttpResponse__header(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 := CkHttpResponse__getHeaderField(resp,'Last-Modified'); // If the header exists... if (CkHttpResponse_getLastMethodSuccess(resp) = True) then begin // Parse the RFC822 format date/time string ckdt := CkDateTime_Create(); CkDateTime_SetFromRfc822(ckdt,lastModStr); // If we want to access individual date/time parts (in the local timezone) dt := CkDateTime_GetDtObj(ckdt,True); Memo1.Lines.Add('day/month/year = ' + IntToStr(CkDtObj_getDay(dt)) + '/' + IntToStr(CkDtObj_getMonth(dt)) + '/' + IntToStr(CkDtObj_getYear(dt))); CkDtObj_Dispose(dt); end; CkHttpResponse_Dispose(resp); CkHttp_Dispose(http); CkDateTime_Dispose(ckdt); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.