10

Delphi6 和 XE3。

我想获得请求的真实响应正文。但是服务器出现错误 500。然后 Indy 将响应文本替换为错误描述。

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

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

感谢您提供任何信息!

4

1 回答 1

17

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;
于 2013-06-10T16:10:33.980 回答