Seite 1 von 1

Dateidatum bei ReceiveHTTPFile()

Verfasst: 08.10.2014 16:16
von ProgOldie
Hallo,
ich möchte das Datum der letzten Veränderung einer Download-Datei bestimmen können. Die Information bekomme ich wohl nur aus dem Header. Bisher habe ich immer folgendes Format der entsprechende Zeile gehabt:
Last-Modify: Mon 03 Oct 2014 07:36:12 GMT
Dann funktioniert folgende kleine Prozedur, die das Datum als Zahl zurückreicht:

Code: Alles auswählen

Procedure get_URLDate(URL.s)
  Define.i nr, RetVal,Monthnr
  Define.s Line, Header,RDate,months,Month,MonthStr
  months="JanFebMarAprMayJunJulAugSepOctNovDec"
  Header= GetHTTPHeader(URL)
  Repeat
   nr+1
   Line = StringField(Header, nr, #LF$)
   If Left(Line,6)="Last-M"                ;richtige Headerzeile für letzte Änderung
     RDate=Right(Line,Len(Line)-20)        ;Last-Modify und Wochentag am Anfang weg
     RDate=Left(RDate,Len(RDate)-5)        ; GMT am Ende weg 
     Month=Mid(RDate,4,3)
     Monthnr=Int(FindString(months,Month)/3)+1
     MonthStr=Str(Monthnr)
     If Monthnr<10                        ;für einziffrigen Monate 0 voranstellen
       Monthstr="0"+MonthStr
     EndIf
     RDate=ReplaceString(RDate,Month,MonthStr) 
     RetVal=ParseDate("%dd %mm %yyyy %hh:%ii:%ss",RDate)
   ElseIf  Left(Line,5)="Date:"            ;anderes Format wie z.B. Date: 
     
   EndIf
 Until Line = ""
 ProcedureReturn RetVal
EndProcedure
Im PB-Handbuch wird bei getHTTPHeader() aber auch folgende Headerzeile beschrieben, die ich bisher aber noch nicht angetroffen habe:
Date: Fri, 21 Mar 2008 09:49:30 GMT

Gibt es doch ein einheitliches Headerformat für die Datumsinformation?
Gibt es weitere Formate dafür?
Wenn es wirklich mehrere Formate gibt, wie macht es eigentlich ein Browser, der ja die Seite nur lädt, wenn sie ein aktuelleres Datum als die im Cache hat?

Re: Dateidatum bei ReceiveHTTPFile()

Verfasst: 08.10.2014 17:23
von Kiffi
ProgOldie hat geschrieben:Gibt es weitere Formate dafür?
hier ist beschrieben, wie das Datum lt. W3C auszusehen hat:

http://www.w3.org/Protocols/rfc2616/rfc ... l#sec3.3.1

Grüße ... Peter

Re: Dateidatum bei ReceiveHTTPFile()

Verfasst: 08.10.2014 21:28
von ProgOldie
Danke, Kiffi, eine sehr informative Quelle.