AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Existiert Datei?

Ein Thema von Angel4585 · begonnen am 4. Mär 2006 · letzter Beitrag vom 25. Aug 2010
Antwort Antwort
Seite 2 von 2     12   
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Existiert Datei?

  Alt 4. Mär 2006, 16:41
mist.. also fileexists funzt definitiv nicht... kann erst später die anderen testen.. der HSV hat in München gewonnen und das kann ich mir in der Sportschau nich entgehen lassen...
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Existiert Datei?

  Alt 4. Mär 2006, 17:00
FileExists kann gar nicht funktionieren weil FileExists intern ein FindFirst macht und das arbeitet nunmal nicht auf HTTP-Basis. Wäre ja auch schlimm wenn jeder den inhalt auflisten könnte der auf meinem webspace liegt.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#13

Re: Existiert Datei?

  Alt 4. Mär 2006, 18:56
So dieser Code aus dem anderen thread von marabu funktioniert perfekt.
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;
    finally
      Free;
    end;
  except
      Result := GetLastError;
  end;
end;

begin
  if UrlCheck('http://www.delphipraxis.net', true) = 200
    then ShowMessage('!')
    else ShowMessage('?');
end;
nurnoch eine kleine Frage: Welche Werte kann Request.RespondCode annehmen und wofür stehen die

THX schonmal an alle
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Existiert Datei?

  Alt 4. Mär 2006, 18:59
Response-Code kann alle Fehlercodes haben die es eben gibt. 404 wenn die Seite nicht gefunden wird und etliche andere wenn zum Beispiel der Zugriff verweigert wird. Das alles ist für das HTTP-Protokoll definiert. Du müsstest also mal eine Liste der Fehlercodes des HTTP-Protokolls suchen.

Hier mal eine Seite mit einem Link zum Protokoll welches nochmehr fehlercodes enthält: http://www.webmeister.ch/server/error_code.htm
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#15

Re: Existiert Datei?

  Alt 4. Mär 2006, 19:11
cool danke
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Existiert Datei?

  Alt 25. Aug 2010, 17:17
Aufgrund einiger Problemchen hier nocheine Variante:
Delphi-Quellcode:
uses
  IdHeaderList, IdHTTP;

type
  TCheckHeadersAvailable = class
    class procedure Check(Sender: TObject;
      AHeaders: TIdHeaderList; var VContinue: Boolean);
  end;

class procedure TCheckHeadersAvailable.Check(Sender: TObject;
  AHeaders: TIdHeaderList; var VContinue: Boolean);
begin
  VContinue := False;
end;

function UrlCheck(sUrl: String; bAllowRedirects: Boolean = false): Integer;
begin
  with TIdHTTP.Create(nil) do
    try
      HandleRedirects := bAllowRedirects;
      OnHeadersAvailable := TCheckHeadersAvailable.Check;
      try
        Head(sUrl);
        Result := Response.ResponseCode;
      except
        if (Response.ResponseCode >= 400) and (Response.ResponseCode < 600) then
          Result := Response.ResponseCode else Result := 503;
      end;
    finally
      Free;
    end;
end;
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
var
  C: Integer;
begin
  C := UrlCheck('http://www.google.de/mdklsandksj.txt', True);
  if C = 200 then ShowMessage('OK')
  else ShowMessage(Format('Fehler %d', [C]));
end;
oder
Delphi-Quellcode:
procedure TForm5.Button1Click(Sender: TObject);
begin
  if UrlCheck('http://www.google.de/mdklsandksj.txt', True) = 200 then
    ShowMessage('OK')
  else
    ShowMessage('Fehler');
end;

Ach ja, GetLastError (siehe Post 13) als Result ist keine gute Idee.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 20:22 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