Delphi:Indy-如何获得错误响应体?
Delphi6和XE3 我想得到请求的真实响应体。 但是服务器出现错误500。 然后Indy用错误描述替换响应文本 这个主页也是为非异常操作中的答案500而设计的,我们需要从响应文本中确定要做什么 当状态代码为500时,我可以从IdHTTP或异常对象获取响应文本吗Delphi:Indy-如何获得错误响应体?,delphi,http,httpresponse,indy,Delphi,Http,Httpresponse,Indy,Delphi6和XE3 我想得到请求的真实响应体。 但是服务器出现错误500。 然后Indy用错误描述替换响应文本 这个主页也是为非异常操作中的答案500而设计的,我们需要从响应文本中确定要做什么 当状态代码为500时,我可以从IdHTTP或异常对象获取响应文本吗 谢谢你提供的任何信息 当TIdHTTP遇到服务器错误时,它会引发EIdHTTPProtocolException异常,其中其ErrorCode属性包含HTTP状态代码(500等),其Message属性包含HTTP状态文本(“内部错误”
谢谢你提供的任何信息 当
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;
对于XE3。有趣的是,EIdHTTPProtocolException的FErrorMessage包含响应,但我无法访问它…:-(@durumdara:你为什么不能访问它?
EIdHTTPProtocolException.ErrorMessage
是一个公共属性。这是我的错误…我用E.Message代替了E.ErrorMessage,但我每次都错过了…:-(