【发布时间】:2011-06-25 03:04:57
【问题描述】:
我正在使用 idhttp (Indy) 进行一些网站检查。我想要它做的就是在我的请求发送后检查来自服务器的响应代码,我不想实际接收来自服务器的 HTML 输出,因为我只监视 200 OK 代码,任何其他代码意味着存在某种形式的问题。
我查看了 idhttp 帮助文档,我能看到的唯一方法是将代码分配给 MemoryStream,然后立即清除它,但这不是很有效并且使用不需要的内存。有没有办法只调用一个站点并获得响应但忽略返回的 HTML 更有效且不浪费内存?
目前的代码看起来像这样。然而,这只是我尚未测试的示例代码,我只是用它来解释我正在尝试做什么。
Procedure Button1Click(Sender: TObject);
var
http : TIdHttp;
s : TStream;
url : string;
code : integer;
begin
s := TStream.Create();
http := Tidhttp.create();
url := 'http://www.WEBSITE.com';
try
http.get(url,s);
code := http.ResponseCode;
ShowMessage(IntToStr(code));
finally
s.Free();
http.Free();
end;
【问题讨论】: