Ich habe einen txt auf meiner Website hochgeladen, wo der Inhalt dieser TXT-Datei meine Noip-Adresse ist, die von einer http-Anfrage konsultiert werden muss.Fehler bei der Überprüfung meines Noip in einen Host hochgeladen (als Inhalt der txt-Datei)
Das Problem in meinem Code unten ist, dass, wenn diese Datei von der Site entfernt wurde, eine Ausnahme generiert wird und nicht möglich ist, führen Sie die folgenden Zeilen für die Funktion gibt ein richtiges Ergebnis zurück.
Wie lösen Sie es?
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
idhttp,
SysUtils;
function GetURLAsString(const aURL, bURL: string): string;
var
lHTTP: TIdHTTP;
a, b: string;
begin
lHTTP := TIdHTTP.Create(nil);
try
a := lHTTP.Get(aURL);
if lhttp.responsecode = 200 then
begin
Result := a
end
else
begin
b := lHTTP.Get(bURL);
if lHTTP.ResponseCode = 200 then
Result := b
else
Result := 'mydnsname.ddns.net';
end;
finally
lHTTP.Free;
end;
end;
begin
try
GetURLAsString('http://www.mysite01.com/conn.txt','http://www.mysite02.com/conn.txt');
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.
danke im voraus.
EDIT
das Ergebnis GetURLAsString muss 'mydnsname.ddns.net' sein, wenn einige zwei Anforderung fehlschlagen. Andernfalls muss das Ergebnis Inhalt der TXT-Datei sein, die auf meiner Website hochgeladen wird (das ist das gleiche mydnsname.ddns.net).
Sie sagen, die Funktion GetURLAsString keine Ausnahme erzeugen, wenn die Datei fehlt? Wenn ja, dann hebe einfach eine Ausnahme auf, anstatt 'mydnsname.ddns.net' dem Ergebnis zuzuweisen. Oder verwenden Sie keine Ausnahmen und testen Sie das Ergebnis für diese Zeichenfolge. Oder ändern Sie die Zeichenfolge in eine leere Zeichenfolge und testen Sie dafür. – Dsm
Dann tut mir leid, aber was ist deine Frage? – Dsm
Willst du sagen, LHTTP.Get (aURL) erzeugt in diesem Fall eine Ausnahme? – Dsm