Delphi:Indy - 如何让错误的响应体?

dur*_*ara 9 delphi http indy httpresponse

Delphi6和XE3.

我想得到一个请求的真实响应主体.但是服务器产生错误500.然后Indy用响应的描述替换响应文本.

这个主页也是为了在非异常操作中回答500而设计的,我们需要确定从响应文本中做什么.

当状态代码为500时,我可以从IdHTTP或Exception对象获取响应文本吗?

感谢您的任何信息!

Rem*_*eau 15

TIdHTTP遇到一个服务器错误,它会引发一个EIdHTTPProtocolException例外,它的ErrorCode属性包含HTTP状态代码(500等),其Message属性包含HTTP状态文字("内部错误"等),以及它的ErrorMessage属性包含的正文回应,如果有的话.所以,例如:

try
  IdHTTP1.Get(...);
except
  on E: EIdHTTPProtocolException do begin
    // use E.ErrorCode, E.Message, and E.ErrorMessage as needed...
  end;
end;
Run Code Online (Sandbox Code Playgroud)