CreationTime von Dateien online abfragen

Speedy1978

Grünschnabel
Hallo,

ich versuche mir grade ein Tool in C# zu schreiben, dass überprüft, ob von einer bestimmten Datei eine neuere Version online ist. Dazu würde ich gern das Erstellungsdatum der Datei im Netz auslesen.

Dieser Versuch kommt leider nicht mit URLs zurecht:
Code:
 static DateTime GetCreationTime(string _downloadlink)
        {   
            FileInfo data = new FileInfo(_downloadlink);
            return data.CreationTime;   
        }

Die Klasse WebClient, mit der ich dann die Datei downloade, stellt leider keine Methode GetCreationTime() bereit.

Noch als Hinweis, die URL verweist auf eine .zip-Datei, die für mich zugänglich ist.

Lieben Gruß

Speedy
 
Zuletzt bearbeitet:
Hallo,

irgendwie komme ich damit leider nicht klar.
Ich versuche eine Datei wie "http://files.musterseite.com/...../Data.zip" zu aktualisieren.
Dafür müsste ich das Erstellungsdatum der Datei im Netz haben, um es mit dem Zeitpunkt der letzten Ausführung des Progs vergleichen zu können. Soweit ich allerdings herausgefunden habe, scheint das http-Protokoll diese Information nicht zu liefern, oder?

Schonmal Danke für die Hilfe.

Speedy
 
Ja, genau, ich hab mehrere URLs zu Zip-Dateien, die ich herunterlade. Dann entpacke, an die richtige Stellen auf meinem Rechner kopiere, und die Zips wieder lösche.
Das klappt soweit auch wunderbar. Nur dauert ein ganzer Durchlauf so ziemlich lange und die meisten Dateien hätten gar nicht bearbeitet werden müssen, da sie sich seid der letzten Ausführung nicht geändert haben. Das letzte Ausführungsdatum speicher ich....nur an das Erstellungsdatum der Dateien im Netz komme ich nicht. Habe somit keine Möglichkeit die Daten zu vergleichen.
Da die Dateien von unterschiedlichen Seiten kommen, auf die ich auch keinen Einfluss habe, kann ich auch leider aus dem Seitenquelltext nicht allgemein gültig das Datum filtern.
Mir bleibt also nur die statische URL, unter der jeweils die neueste Datei angeboten wird.
Von daher wäre es super, das Erstellungsdatum der jeweiligen Dateien abzufragen.

Gruß

Speedy
 
Ich würde das anders machen. Bau dir ein Web Service, welche diese Aufgabe übernimmt. Dieser gibst du beispielsweise die Versionsnummer mit und das Service liefert dir zurück, was du herunter zu laden hast. Das ist einfach realisierbar und dort kannst du dann auch zusätzliche Logik unterbringen, ohne die Anwendung ändern zu müssen. Ausserdem hast du auf Informationen wie CreationDate etc. Zurgriff.
 
Was genau ist mit Web Service gemeint? Stehe grade etwas auf dem Schlauch. Die Seiten, von denen ich downloade ist nicht von mir, ich habe somit keinen Einfluss auf deren Gestaltung. Außerdem sind diese unterschiedlich gestaltet. Außerdem soll es möglich sein, dynamisch die Links zu ändern oder zu erweitern.
Darf ich hier zu fremden Seiten verlinken?
Dann würd ich mal ein paar Musterlinks angeben.

Gruß Speedy
 
Ich habs hinbekommen. Vielen Dank für die Hilfe!
Meine Lösung sieht so aus:

Code:
public static DateTime DateRequest(string _url)
        {
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(_url);
            HttpWebResponse httpWebesponse = (HttpWebResponse)httpWebRequest.GetResponse();
            DateTime date = httpWebesponse.LastModified;
            httpWebesponse.Close();
            return date;
        }

Die Funktion liefert das Datum der letzten Änderung zurück.

Gruß Speedy
 
Zurück