Delphi6和XE3。
我想获得请求的真实响应主体。 但是服务器会出错500。 然后,Indy用响应的描述替换响应文本。
此主页也是针对非异常操作中的答案500而设计的,我们需要确定从响应文本中做什么。
当状态代码为500时,我可以从IdHTTP或Exception对象获取响应文本吗?
感谢您的任何信息!
答案 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;