Hallo,
ausgehend von Peters Beschreibung in Beitrag #1 würde ich eine Funktion UrlExists() etwa so entwerfen:
Delphi-Quellcode:
function UrlExists(
const url:
string): Boolean;
begin
if AnsiStartsText('
ftp',
url)
then
Result := FTPExists(
url)
else
if AnsiStartsText('
http',
url)
then
Result := HTTPExists(
url)
else
raise Exception.Create(S_WRONG_URL);
end;
end;
Ich würde beim HTTP-Protokoll nicht auf ein automatisches Redirection-Handling verzichten mögen. Beim
FTP-Protokoll würde ich im Zielverzeichnis mittels LIST-Befehl prüfen, ob die gesuchte Datei existiert. Besonderes Augenmerk muss man dabei der Konfiguration der Komponenten TIdHTTP und TIdFTP widmen. Wenn UrlExists() universell einsetzbar sein soll, dann müsste noch ein Config-Record als zusätzlicher Parameter übergeben werden, aus dem man Proxy-Parameter u.ä. entnehmen kann.
Freundliche Grüße