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

时间:2013-06-10 12:19:26

标签: delphi http httpresponse indy

Delphi6和XE3。

我想获得请求的真实响应主体。 但是服务器会出错500。 然后,Indy用响应的描述替换响应文本。

此主页也是针对非异常操作中的答案500而设计的,我们需要确定从响应文本中做什么。

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

感谢您的任何信息!

1 个答案:

答案 0 :(得分: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;