![]() |
idhttp1.Get Error
Hallo
wenn ich mit idhttp1.Get('http://www.cheffu.de/dasd.php') den Inhalt der Seite abfrage gibts dieses nicht,deshalb kommt der Error EIdHTTPProtocolExeption. Kann mir jemand sagen wie ich die Error-Meldung abfange oder einen anderen Weg für folgendes Problem: Es soll überprüfen ob es die Seite gibt, wenn ja, dann Label1.Caption:=ja; un wenn nicht Label1.Caption:=nein; oder etwas in der Art. Also würds siche eine if Abfrage vll eignen, aber die Fehlermeldung Zerstört dies. mit freundlichen Grüßen Cheffu |
Re: idhttp1.Get Error
Wie wär es mit try-except?
|
Re: idhttp1.Get Error
|
Re: idhttp1.Get Error
Oder in denen (die Suche hilft oft weiter):
![]() ![]() |
Re: idhttp1.Get Error
@inherited: mit exept und so geht es nicht so leicht
danke erstmal an all die anderen. Ok, ich hätte erstmal suchen sollen, aber leider versteht ich keine der dort geposteteten Codes :( Scheinbar soll die gut funktionieren:
Delphi-Quellcode:
aber wie bau ich dies ein, dass es passiert wenn ich auf einen Button klicke?
// uses WinInet, idHTTP;
function UrlExists(sUrl: String; bAllowRedirects: Boolean = false): Boolean; begin with TidHTTP.Create(nil) do try HandleRedirects := bAllowRedirects; Head(sUrl); Result := Response.ResponseCode = HTTP_STATUS_OK; finally Free; end; end; Was muss ich davon verwenden um auszuwerten ob es den Link nun gibt oder nicht? Sorry, habe gradmal in der Schule das allerbilligste Delphi gelernt |
Re: idhttp1.Get Error
Vielleicht so?
Delphi-Quellcode:
Grüße
if UrlExists('deine URL') then
label1.caption:='URL existiert' else label1.caption:='URL nicht erreichbar'; Klaus |
Re: idhttp1.Get Error
so einen Befehl gibts denkmal garnicht, zumidnest kann mein Delphi damit nichst anfangen.
Weis keiner wie ich den anderen Code entsprechend umbau? Ich habe mir das ![]() Edit: auch der Code im anderen Thread
Delphi-Quellcode:
bringt beim einbau die fehlermeldung die ich am Anfang beschrieben habe. Ist also auch nicht zu gebrauchen.
uses
...., IdHTTP; .... function HTTPFileExists(aURL: String): Boolean; begin with TIdHTTP.Create(nil) do try try Head(aURL); Result := ResponseCode = 200; except Result := False; end; finally Free; end; end; |
Re: idhttp1.Get Error
Ich weis das dies ein Doppelpost ist, aber es geht diesmal um die teilweise Auflösung des Problems.
In dem Post darüber steh ja nur, dass alles varianten nicht funktioniert haben. Eine sehr leihcte und funktionierende Lösung ist dies:
Delphi-Quellcode:
Meine frage dazu ist aber:
begin
try IdHTTP1.Get('http://www.cheffu.de/test2.php'); except on EIdHTTPProtocolException do Memo1.Text:='Fehler!'+#13#10 + IdHTTP1.ResponseText end;//try end; wieso wird bei dem folgenden Code die else Zeile niemals ausgeführt? Diese müsste ja ausgeführt werden wenn es die Seite gibt:
Delphi-Quellcode:
begin
try IdHTTP1.Get('http://www.cheffu.de/tasdadasd.html'); except on EIdHTTPProtocolException do Memo1.Text:='Fehler!'+#13#10 + IdHTTP1.ResponseText else emo1.Text:='geht' end;//try end; |
Re: idhttp1.Get Error
Das liegt daran, da die Syntax nicht stimmt und der Compiler es daher gar nicht kompilieren würde. Es müsste so heißen:
Delphi-Quellcode:
Der Aufbau von try - except ist also folgender:
try
IdHTTP1.Get('http://www.cheffu.de/tasdadasd.html'); Memo1.Text := 'geht' except on EIdHTTPProtocolException do Memo1.Text := 'Fehler!' + #13#10 + IdHTTP1.ResponseText; end;
Delphi-Quellcode:
Es gibt hier also kein else oder ähnliches.
try
<Anweisungen> // die Fehler hervorrufen könnten except <Anweisungen> // die im Falle eines auftretenden Fehlers ausgeführt werden sollen end; |
Re: idhttp1.Get Error
Achso ok.
Habe beim stöbern duch diverse codes den else Befehl beim try gesehen, deshalb nahm ich an, dass es diesen gibt, aber so geht es ja auch, also vielen Dank :) Zu dem Code, den ich gepostet habe. Komischerweise bringt er immernoch die Fehlermeldung die ich ganz am Anfang erwähnt habe, aber nur wenn man es in Delphi direkt probiert. Wenn man einfach die fertige exe benutzt geht es. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:49 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