IdHttp Basta obter o código de resposta
Estou usando o idhttp (Indy) para verificar o site. Tudo o que eu quero fazer é verificar o código de resposta do servidor após o envio da minha solicitação. Na verdade, não quero receber a saída HTML do servidor, pois estou monitorando apenas um código 200 OK, qualquer outro código significa que há um problema de alguma forma.
Pesquisei os documentos de ajuda do idhttp e a única maneira possível de fazê-lo seria atribuir o código a umMemoryStream
e limpe-a imediatamente, no entanto, isso não é muito eficiente e usa memória desnecessária. Existe uma maneira de chamar um site e obter a resposta, mas ignorar o HTML enviado de volta, que é mais eficiente e não desperdiça memória?
Atualmente, o código seria algo parecido com isto. No entanto, este é apenas um código de amostra que ainda não testei, apenas o estou usando para explicar o que estou tentando fazer.
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;