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

Lea*_*dri 4 delphi indy delphi-7 idhttp

当像这样使用TIdHttp时:

Memo1.Text := IdHTTP1.post(url,data);
Run Code Online (Sandbox Code Playgroud)

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

即使它返回http错误,我怎样才能获得内容?

Rem*_*eau 6

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


wes*_*uan 3

试试这个代码

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;
Run Code Online (Sandbox Code Playgroud)

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