【发布时间】:2010-10-01 15:26:56
【问题描述】:
我正在用 Delphi 编写一个需要获取网站状态的 win32 服务(如果您不了解 delphi,应该能够翻译任何其他代码)。我知道如何在 .NET 中执行此操作,但不确定是否使用普通的基于 Windows 的编程。所以,我需要查询一个网站并返回状态码 200、301 等。然后我的计划是解析返回的数据并在我的一个站点出现故障时发送一封电子邮件。
有人可以帮忙吗?
编辑:这是我最后使用的代码 - 使用 TIDHttp Indy 组件。
IdHTTP.Get('http://www.example.com');
if IdHTTP.Connected then begin
ResponseCode := IntToStr(IdHTTP.ResponseCode);
ShowMessage(ResponseCode);
end;
【问题讨论】:
-
如果你只是想知道“状态”,你应该使用 TIdHTTP 的 Head 方法。使用 get 您将获得整个潜在的大页面/文件。使用 Head 方法,您将仅向服务器询问该文件的 HTTP 标头(几个字节)。这包括有关资源的状态和其他信息,最大限度地减少带宽和服务器负载。
标签: delphi windows-services http-headers service http-status-codes