HTTP Checksumme von Dateien abfragen

daavi

Neues Mitglied
Hallo!

Ich habe ein Programm geschrieben, dass unter anderem Dateien von Internetseiten herunterlädt und speichert. Zudem kann es überprüfen, ob eine bereits gespeicherte Datei älter oder neuer als eine entsprechende Datei auf einer Internetseite ist (anhand des von der Internetseite ausgegebenen Timestamps).
Wenn es nun passiert, dass der Timestamp von der Internetseite jünger ist, als der Timestamp der lokal gespeicherten Datei, dann ist die Wahrscheinlichkeit groß, dass die lokale Datei veraltet ist. Es könnte aber auch sein, dass sich einfach nur der Timestamp geändert hat (warum auch immer) und die Datei eigentlich identisch ist. Ich kann zwar die Größe abfragen, aber das bietet mir keine Sicherheit.
Gibt es eine Möglichkeit mit Java die CRC Checksumme (oder eine andere Art von Checksumme) einer über eine URL erreichbare Datei abzufragen bzw. zu prüfen, ob der Server soetwas anbietet?

Viele Grüße!
 
Ohne die Datei zu ziehen - nein.
Aber manche Anbieter veröffentlichen ja direkt md5, sha etc Checksummen für die Dateien. Vlt hast du ja Glück...
 
Die meisten Server schicken ETag Header mit. Merk dir einfach den Wert davon und schick den beim überprüfen auf Änderungen im If-None-Match Header zurück. Wenn der Server dann den Statuscode 304 zurückschickt hat sich die Datei nicht geändert. Alternativ kann man bei den meisten Servern auch mit den Header Last-Modified und If-Modified-Since das gleich anstellen.
 

Zurück
Oben