即使连接在IdHttp中出错,如何获取响应内容?

时间:2013-08-31 14:48:46

标签: delphi delphi-7 indy idhttp

使用TIdHttp时:

Memo1.Text := IdHTTP1.post(url,data);

如果没有给出http错误,我可以获得memo1的响应内容。但是当它提出http错误请求时,Indy并没有给我内容。我也在使用try..except,但它只能阻止错误框,但仍然没有给我内容。

即使它返回http错误,我如何获取内容?

2 个答案:

答案 0 :(得分:6)

发生HTTP错误时,TIdHTTP会引发EIdHTTPProtocolException异常。该异常包含其ErrorCode属性中的HTTP状态代码,其Message属性中的HTTP状态文本以及其ErrorMessage属性中的响应数据。

答案 1 :(得分:2)

试试这段代码

Try
    Memo1.Text := IdHTTP1.post(url,data);
except on e: EIdHTTPProtocolException do
begin
    memo1.lines.add(idHTTP1.response.ResponseText);
    memo1.lines.add(e.ErrorMessage);
end;

e.ErrorMessage将为您提供有关错误请求的一些信息。