Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi schneller Online Datei-Check (https://www.delphipraxis.net/154038-schneller-online-datei-check.html)

Flodding 25. Aug 2010 16:01

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:

http://www.delphipraxis.net/47-datei...tsanzeige.html

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

Klaus01 25. Aug 2010 16:05

AW: schneller Online Datei-Check
 
.. schau dir mal URLCheck an.

Grüße
Klaus

H4ndy 25. Aug 2010 16:13

AW: schneller Online Datei-Check
 
Gab's nicht dieses idAntiFreeze zum Draufklicken, damit die Anwendung bei Anfragen nicht mehr einfriert?

Flodding 25. Aug 2010 16:17

AW: schneller Online Datei-Check
 
idAntifreeze funzt nicht wirklich... das hab ich auch schon probiert...

URLCheck liefert mir bei diesem Code:

Delphi-Quellcode:
if UrlCheck('http://www.bbned.nl/scripts/speedtest/download/file324654mb.bin', true) = 200 then ShowMessage('!') else ShowMessage('?');
ein "!" obwohl er mir ein "?" liefern sollte...

probier ich es so:

Delphi-Quellcode:
if UrlCheck('http://www.bbned.nl[B]llllllllll[/B]', true) = 200 then ShowMessage('!') else ShowMessage('?');
liefert er mir "?" zurück... kann also nur URLs finden und keine Dateien?

himitsu 25. Aug 2010 16:19

AW: schneller Online Datei-Check
 
Was für einen Wert liefert denn URLCheck?
Denn es sollte mit Dateien funktionieren.

Flodding 25. Aug 2010 16:24

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:
if UrlCheck('http://www.bbned.nl/scripts/speedtest/download/file324654mb.bin', true) = 200 then ShowMessage('!' + errorhandler) else ShowMessage('?' + errorhandler);
liefert:

!HTTP/1.1 200 OK

himitsu 25. Aug 2010 16:33

AW: schneller Online Datei-Check
 
Delphi-Quellcode:
C := UrlCheck('http://www.bbned.nl/scripts/speedtest/download/file324654mb.bin', true);
ShowMessage(IntToStr(C));
:gruebel:

[edit]
OK, das sollte hoffentlich 200 ausgeben.

Zitat:

URLCheck liefert mir bei diesem Code: ... ein "!" obwohl er mir ein "?" liefern sollte...
Wieso sollte es denn "?" liefern?
"!" = Datei existiert.

Flodding 25. Aug 2010 16:35

AW: schneller Online Datei-Check
 
200

H4ndy 25. Aug 2010 16:37

AW: schneller Online Datei-Check
 
Zitat:

Zitat von Flodding (Beitrag 1044957)
200

Mal ehrlich, 200 heißt doch, dass es die Datei gibt. Oder gibt's die etwa nicht?
Zumindest kann ich die Adresse ansurfen, ist nur nix in der Datei drin.

himitsu 25. Aug 2010 16:39

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 20:02 Uhr.
Seite 1 von 3  1 23      

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