AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi schneller Online Datei-Check
Thema durchsuchen
Ansicht
Themen-Optionen

schneller Online Datei-Check

Ein Thema von Flodding · begonnen am 25. Aug 2010 · letzter Beitrag vom 25. Aug 2010
Antwort Antwort
Seite 1 von 3  1 23      
Flodding

Registriert seit: 26. Dez 2007
Ort: Kiel
121 Beiträge
 
Turbo Delphi für Win32
 
#1

schneller Online Datei-Check

  Alt 25. Aug 2010, 17:01
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
Flo
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.771 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:05
.. schau dir mal URLCheck an.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#3

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:13
Gab's nicht dieses idAntiFreeze zum Draufklicken, damit die Anwendung bei Anfragen nicht mehr einfriert?
Manuel
  Mit Zitat antworten Zitat
Flodding

Registriert seit: 26. Dez 2007
Ort: Kiel
121 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:17
idAntifreeze funzt nicht wirklich... das hab ich auch schon probiert...

URLCheck liefert mir bei diesem Code:

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:

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?
Flo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:19
Was für einen Wert liefert denn URLCheck?
Denn es sollte mit Dateien funktionieren.
$2B or not $2B
  Mit Zitat antworten Zitat
Flodding

Registriert seit: 26. Dez 2007
Ort: Kiel
121 Beiträge
 
Turbo Delphi für Win32
 
#6

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:24
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;
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
Flo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:33
Delphi-Quellcode:
C := UrlCheck('http://www.bbned.nl/scripts/speedtest/download/file324654mb.bin', true);
ShowMessage(IntToStr(C));


[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.
$2B or not $2B

Geändert von himitsu (25. Aug 2010 um 17:37 Uhr)
  Mit Zitat antworten Zitat
Flodding

Registriert seit: 26. Dez 2007
Ort: Kiel
121 Beiträge
 
Turbo Delphi für Win32
 
#8

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:35
200
Flo
  Mit Zitat antworten Zitat
Benutzerbild von H4ndy
H4ndy

Registriert seit: 28. Jun 2003
Ort: Chemnitz
515 Beiträge
 
Delphi XE3 Professional
 
#9

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:37
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.
Manuel
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: schneller Online Datei-Check

  Alt 25. Aug 2010, 17:39
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 15:10 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