Entwickler-Ecke
Internet / Netzwerk - Prüfen ob eine URL erreichbar ist
Tino - Mi 10.09.03 17:44
Hallo,
was heißt denn für dich ob das Ziel erreichbar ist oder nicht?
Eventl. reicht es ja ein
PING zu senden.
Gruß
Tino
matze - Mi 10.09.03 20:24
und wenn du prüfen willst ob die datei existiert, dann frag via INDY die grösse ab !
wk_one - Do 11.09.03 08:48
| Tino hat folgendes geschrieben: |
Hallo,
was heißt denn für dich ob das Ziel erreichbar ist oder nicht?
Eventl. reicht es ja ein PING zu senden.
Gruß
Tino |
Sorry, vielleicht hab ich mich falsch ausgedrückt.
Ein Ping würde ja nur schauen ob ein Host erreichbar ist.
Was ich prüfen will ist ob z.b. eine bestimmte Textdatei auf einem Server vorhanden ist. z.B.
http://www.irgendeinhost.de/readme.txt
JustusJonas - Do 11.09.03 09:24
Navigiere doch einfach mit einem WebBrowser dorthin und frage den ReadyState ab!
Greetz
wk_one - Do 11.09.03 10:21
| matze hat folgendes geschrieben: |
| und wenn du prüfen willst ob die datei existiert, dann frag via INDY die grösse ab ! |
ich versuche das ganze mal mit Indy +
get. Das funktioniert auch solange es die URL gibt.
Hier der Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| try IdHTTP1.Get(edit1.text, responseStream); except on EIdHTTPProtocolException do ausgabe:='Fehler!'+#13#10 + IdHTTP1.ResponseText; end; |
edit1 ist ein eingabefeld in dem die URL steht.
Wenn nun eine URL eingegeben wird die es nicht gibt, dann bricht das Programm ab und bringt eine Fehlermeldung.
Das soll es aber nicht. In Fehlerfällen soll es eine Meldung in die Variable
ausgabe schreiben.
Wie schaffe ich es das Fenster mit der Fehlermeldung zu unterdrücken?
Irgendwelche Tipps?
wk_one - Do 11.09.03 10:28
| JustusJonas hat folgendes geschrieben: |
Navigiere doch einfach mit einem WebBrowser dorthin und frage den ReadyState ab!
Greetz |
wie?
JustusJonas - Do 11.09.03 11:12
Die Hilfe von Delphi könnte dir mehr über "ReadyState" verraten!
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| Die Eigenschaft ReadyState gibt den Status der Komponente an.
property ReadyState: TOleEnum;
Beschreibung
Mit ReadyState rufen Sie Statusinformationen über die TWebBrowser-Komponente ab. Dadurch können Sie beispielsweise verhindern, daß die Komponente verwendet wird, wenn sie auf eine Aktion nicht vorbereitet ist.
Die Eigenschaft kann folgende Werte annehmen:
Konstante Wert Beschreibung
READYSTATE_UNINITIALIZED 0 Standard-Initialisierungsstatus. Das Steuerelement hat noch nicht mit dem Laden seiner Eigenschaften begonnen.
READYSTATE_LOADING 1 Das Steuerelement lädt seine Eigenschaften. READYSTATE_LOADED 2 Das Steuerelement hat seine Eigenschaften initialisiert, ist aber noch nicht interaktiv. READYSTATE_INTERACTIVE 3 Das Steuerelement ist interaktiv. Es sind aber noch nicht alle Daten verfügbar (ein Dokument oder Frame wird gerade geladen). READYSTATE_COMPLETE 4 Das Steuerelement ist interaktiv, und seine gesamten Daten sind verfügbar (das aktuelle Dokument ist vollständig geladen). |
So navigierst du mit dem WebBrowser:
Delphi-Quelltext
1:
| WebBrowser1.Navigate('http://irgendwas.com/test.txt'); |
So könntest du z. B. den ReadyState abfragen!
Delphi-Quelltext
1:
| if WebBrowser1.ReadyState = 4 then ShowMessage('File existiert') else ShowMessage('File nicht gefunden'); |
Greetz
wk_one - Do 11.09.03 11:19
Titel: Gelöst
Danke euch allen für eure Mühen.
Hab das nun folgendermaßen gelöst:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| try IdHTTP1.Head(edit3.text); except on EIdHTTPProtocolException do ausgabe:='Fehler!'+#13#10 + IdHTTP1.ResponseText; end; if (Length(ausgabe)<1) then ausgabe:='OK, alles klar'+#13#10 + IdHTTP1.ResponseText; ... ... |
Vielen dank nochmal an alle :D
übrigens....
auf diese Lösung bin ich mit Hilfe aus Beiträgen anderer Foren gekommen. [
http://www.delphi-groups.de/YaBBSe/index.php?board=3;action=display;threadid=16933]
Hatte mir keine Gedanken darüber gemacht, das es nicht gern gesehen wird wenn man ein Problem in mehreren Foren bespricht.
Sorry.
Ich erwähne das, weil ich verhindern will dass sich jemand hintergangen fühlt.
Nochmals vielen Dank für die Mithilfe.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!