![]() |
schneller Online Datei-Check
Guten Nachmittag zusammen... ich versuche schon n paar tage irgendiw nen schnellen check hinzubekommen ob eine datei online existiert oder nicht...
im grunde geht es um eine textdatei die die neueste version beinhaltet für meine automatische updatefunktion. ich habs jetzt mit den indys (TidHTTP) probiert nur kommt da das problem auf, dass er echt lange braucht um zu verstehen, wenn die datei nicht existiert (server down zB). existiert sie, ist alles okay... jedoch will ich den usern meines programms nicht zumuten, knappe 15 - 30 sekunden zu warten bis sich das programm "zeigt". Habs auch schon mit nem Thread probiert und ihn dann im Thread danach suchen lassen, aber irgendwie stoppt das programm dann trotzdem solange, bis TidHTTP die meldung gibt dass datei nicht vorhanden ist. dann habe ich ne funktion gefunden, die erst überprüft ob eine datei online zur verfügung steht, wenn ja, sie dann downloaded oder halt wenn nicht, dann SCHNELLE fehlermeldung... eigentlich perfekt für meine zwecke... hier mal der code: ![]() jedoch bin ich wohl irgendwie nicht dazu in der lage, diese funktion so umzufummeln, dass die textdatei NICHT downgeloaded wird, sondern nur geöffnet bzw. nicht geöffnet wird und dann der text mit der aktuellen version verglichen wird. sicher könnte ich die textdatei downloaden, dann auslesen und dann wieder löschen lassen... finde ich persönlich aber unsauber und umständlich... ich hoffe einer kann mir nen denkanstoß verpassen ich bedank mich schonmal im Voraus für alle antworten... Floddy |
AW: schneller Online Datei-Check
|
AW: schneller Online Datei-Check
Gab's nicht dieses idAntiFreeze zum Draufklicken, damit die Anwendung bei Anfragen nicht mehr einfriert?
|
AW: schneller Online Datei-Check
idAntifreeze funzt nicht wirklich... das hab ich auch schon probiert...
URLCheck liefert mir bei diesem Code:
Delphi-Quellcode:
ein "!" obwohl er mir ein "?" liefern sollte...
if UrlCheck('http://www.bbned.nl/scripts/speedtest/download/file324654mb.bin', true) = 200 then ShowMessage('!') else ShowMessage('?');
probier ich es so:
Delphi-Quellcode:
liefert er mir "?" zurück... kann also nur URLs finden und keine Dateien?
if UrlCheck('http://www.bbned.nl[B]llllllllll[/B]', true) = 200 then ShowMessage('!') else ShowMessage('?');
|
AW: schneller Online Datei-Check
Was für einen Wert liefert denn URLCheck?
Denn es sollte mit Dateien funktionieren. |
AW: schneller Online Datei-Check
Delphi-Quellcode:
function UrlCheck(sUrl: String; bAllowRedirects: Boolean = false): Integer;
begin with TidHTTP.Create(nil) do try try HandleRedirects := bAllowRedirects; Head(sUrl); Result := Response.ResponseCode; errorhandler := Response.ResponseText; finally Free; end; except Result := GetLastError; end; end;
Delphi-Quellcode:
liefert:
if UrlCheck('http://www.bbned.nl/scripts/speedtest/download/file324654mb.bin', true) = 200 then ShowMessage('!' + errorhandler) else ShowMessage('?' + errorhandler);
!HTTP/1.1 200 OK |
AW: schneller Online Datei-Check
Delphi-Quellcode:
:gruebel:
C := UrlCheck('http://www.bbned.nl/scripts/speedtest/download/file324654mb.bin', true);
ShowMessage(IntToStr(C)); [edit] OK, das sollte hoffentlich 200 ausgeben. Zitat:
"!" = Datei existiert. |
AW: schneller Online Datei-Check
200
|
AW: schneller Online Datei-Check
Zitat:
Zumindest kann ich die Adresse ansurfen, ist nur nix in der Datei drin. |
AW: schneller Online Datei-Check
Ach ja, wenn diese Datei nicht existieren sollte,
die Webseite dieses aber selber auswertet und dann keinen korrekten Statuscode liefert, dann gibt es keine Möglichkeit dieses schnell zu prüfen. Abgesehn vom vollständigen Runterladen der Datei und anschließendem Prüfen, ob diese Datei "korrekt" ist, bzw. das enthält, was mann will. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz