Delphi6和XE3。
我想获取请求的真实响应体。但是服务器返回错误代码500。然后Indy使用错误描述替换响应文本。
此主页还设计用于非异常操作时返回500,因此我们需要从响应文本中确定如何处理。
当状态码为500时,我可以从IdHTTP或异常对象中获取响应文本吗?
感谢任何信息!
Delphi6和XE3。
我想获取请求的真实响应体。但是服务器返回错误代码500。然后Indy使用错误描述替换响应文本。
此主页还设计用于非异常操作时返回500,因此我们需要从响应文本中确定如何处理。
当状态码为500时,我可以从IdHTTP或异常对象中获取响应文本吗?
感谢任何信息!
当TIdHTTP
遇到服务器错误时,它会引发一个EIdHTTPProtocolException
异常,其中ErrorCode
属性包含HTTP状态码(500等),Message
属性包含HTTP状态文本("Internal Error"等),而ErrorMessage
属性包含响应正文的文本,如果有的话。因此,例如:
try
IdHTTP1.Get(...);
except
on E: EIdHTTPProtocolException do begin
// use E.ErrorCode, E.Message, and E.ErrorMessage as needed...
end;
end;
EIdHTTPProtocolException.ErrorMessage
是一个公共属性。 - Remy Lebeau