こんにちは、私は Delphi を使用するのが初めてで、Web サイトが稼働しているかどうか、または何か問題があるかどうかを確認するアプリケーションを作成しようとしています。Indy の IdHTT を使用しています。問題は、プロトコル エラーは検出されますが、ソケット エラーなどは検出されないことです。
procedure TWebSiteStatus.Button1Click(Sender: TObject);
var
http : TIdHTTP;
url : string;
code : integer;
begin
url := 'http://www.'+Edit1.Text;
http := TIdHTTP.Create(nil);
try
try
http.Head(url);
code := http.ResponseCode;
except
on E: EIdHTTPProtocolException do
code := http.ResponseCode;
end;
ShowMessage(IntToStr(code));
if code <> 200 then
begin
Edit2.Text:='Something is wrong with the website';
down;
end;
finally
http.Free();
end;
end;
私は基本的に、ウェブサイトが正常ではないことをキャッチしようとしているので、別のフォームを呼び出して、サイトがダウンしていることを知らせる電子メールをセットアップできます。
更新:最初にあなたは正しいです私は「それから」申し訳ありませんが他のコードを削除していたことを見逃していましたが、誤って削除されました。例外を処理するときの一般的な特定を知りませんでした。最後に、私が探していたのはこのコードであることがわかりました
on E: EIdSocketError do
uses IdStack の使用