AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Überprüfen ob eine Datei auf einem Server verfügbar ist
Thema durchsuchen
Ansicht
Themen-Optionen

Überprüfen ob eine Datei auf einem Server verfügbar ist

Ein Thema von JonnyGuitar · begonnen am 29. Apr 2009 · letzter Beitrag vom 30. Apr 2009
Antwort Antwort
JonnyGuitar

Registriert seit: 4. Jun 2004
233 Beiträge
 
#1

Überprüfen ob eine Datei auf einem Server verfügbar ist

  Alt 29. Apr 2009, 20:00
Guten Abend,

ich habe ein Problem. Ein User muss eine URL angeben wo eine bestimmte XML Datei liegt.
Nun würde ich gerne überprüfen ob diese URL korrekt ist. Zum einen mache ich das mit einer
CrackURL Funktion um die URL als solche zu überprüfen, ausserdem würde ich gerne noch
überprüfen ob die Datei wirklich dort vorhanden ist. Wie kann ich da vorgehen? Muss ich mit
idHTTP.Get quasi einen Download starten um das zu überprüfen oder kann ich die Datei quasi
irgendwie "pingen" um ihre Existenz zu überprüfen? Bin für jede Anregung dankbar.

mfg Jonny
the only thing to fear is runnin' out of beer
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Überprüfen ob eine Datei auf einem Server verfügbar ist

  Alt 29. Apr 2009, 20:07
statt idHTTP gibt es auch was, womit man nur den Header runterladen kann. und wenn der geladen werden konnte und OK aussieht, dann ist die datei wohl vorhanden.
$2B or not $2B
  Mit Zitat antworten Zitat
JonnyGuitar

Registriert seit: 4. Jun 2004
233 Beiträge
 
#3

Re: Überprüfen ob eine Datei auf einem Server verfügbar ist

  Alt 30. Apr 2009, 09:06
Wätre das dann die Überprüfung mit idHTTP.Head(URL) und dann auf idHTTP.Response.ContentLength überprüfen?

Gruss Tobias
the only thing to fear is runnin' out of beer
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

Re: Überprüfen ob eine Datei auf einem Server verfügbar ist

  Alt 30. Apr 2009, 09:59
ach, daß ist direkt da eingebaut dachte des wäre eine eigene Klasse ... nja egal

jupp, dieses läd nur den Header runter und nicht zusammen mit der gesamten Datei.
ContentLength sieht schonmal nicht schlecht aus, aber ich weiß jetzt nicht, was es da noch für andere Informationen gibt (z.B. bei einer PHP-Datei, welche keinen ordentlichen Header erzeugt, gibt es eventuell kein ContentLength ... kennst du vielleicht schon von Dateien wo wärend des Ladens die Dateigröße nicht bekannt ist und somit auch die Restdownloadzeit nicht angegeben werden kann)
$2B or not $2B
  Mit Zitat antworten Zitat
JonnyGuitar

Registriert seit: 4. Jun 2004
233 Beiträge
 
#5

Re: Überprüfen ob eine Datei auf einem Server verfügbar ist

  Alt 30. Apr 2009, 10:04
Vielen Dank himitsu,

damit kann ich das überprüfen.
the only thing to fear is runnin' out of beer
  Mit Zitat antworten Zitat
Benutzerbild von gsh
gsh

Registriert seit: 24. Okt 2004
1.542 Beiträge
 
Delphi XE Architect
 
#6

Re: Überprüfen ob eine Datei auf einem Server verfügbar ist

  Alt 30. Apr 2009, 10:12
Ich würde eher den Response Code auswerten (imho müsstest du den auch für ein Head bekommen)
200 -> Datei vorhanden
404 -> Datei wurde nicht gefunden

Oder du ladest die ersten 5 Byte von der Datei runter. Diese müssten dann "<?xml" sein. Damit kannst du auch gleich überprüfen ob es wirklich eine XML datei ist
Alex
"Sage nicht alles, was du weißt, aber wisse alles, was du sagst!" Matthias Claudius
"Wer sich über Kritik ärgert, gibt zu, daß er sie verdient hat." Tacitus
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz