我们在捕获Idhttp的错误信息的时候通常只能捕获到类似http1.1 403 Error的信息,而在IE中有时可以显示友好HTTP错误信息,跟踪发现Idhttp在输出exception.message时,只取了错误信息的第一行信息,而把后面的内容都删除掉了。其实后面的信息并没有被完全抛掉,而是存在了EIdHTTPProtocolException的ErrorMessage中,我们通过此字段可以获得。示例代码如下:

      try
        FIdhttp.Get('http://www.prize8.com', newHtmlStream);
      except
        on e: Exception do begin
          if e is EIdHTTPProtocolException then begin
            FLogStr := (e as EIdHTTPProtocolException).ErrorMessage;
          end;
        end;
      end;

 

posted on 2012-04-21 10:27  东睿软件工作室  阅读(1167)  评论(0编辑  收藏  举报