我正在 Delphi 中制作一个程序来检查 url 以查看它们是否已启动。问题是此操作在某些网站上可能需要一些时间。我希望它在大约 10 秒后放弃。我的问题是有没有办法在一段时间后停止检查并继续检查列表中的下一个项目?
更新抱歉没有放代码。仍在试图确定需要多少代码而不是问题。
procedure TWebSiteStatus.Button1Click(Sender: TObject);
var
http: TIdHTTP;
url: string;
code: integer;
i: integer;
begin
for i := 0 to Memo1.Lines.Count - 1 do
begin
url := 'http://www.' + Memo1.Lines[i];
http := TIdHTTP.Create(nil);
try
try
http.Head(url);
code := http.ResponseCode;
except
on E: EIdSocketError do
begin
code := http.ResponseCode;
end;
on E: EIdHTTPProtocolException do
begin
code := http.ResponseCode;
end;
end;
ShowMessage(IntToStr(code));
Case code of
200:
Edit2.Text := Memo1.Lines[i] + ' website is ok';
301:
Edit2.Text := Memo1.Lines[i] + ' website has moved but works';
else
begin
Edit2.Text := 'Something is wrong with the ' + Memo1.Lines[i] + ' website';
down;
end;
end;
finally
http.Free();
end;
end;
end;
所以它正在做 http.Head(url);
我如何告诉它在 10 秒后停止尝试