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

Dart
import 'package:chilkat/chilkat.dart';

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

  final http = CkHttp();

  final resp = CkHttpResponse();
  try {
    http.httpNoBody('HEAD', 'https://www.chilkatsoft.com/hamlet.xml', resp);
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // 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.
  // If the header exists...
  try {
    final lastModStr = resp.getHeaderField('Last-Modified');
    // Parse the RFC822 format date/time string
    final ckdt = CkDateTime();
    ckdt.setFromRfc822(lastModStr);

    // If we want to access individual date/time parts (in the local timezone)
    final dt = CkDtObj();
    ckdt.toDtObj(true, dt);

    print('day/month/year = ${dt.day}/${dt.month}/${dt.year}');
  } on ChilkatException {
    // resp.getHeaderField() failed; continue anyway.
  }
}