anchor.diff:          raise ;
       on E: EIdHTTPProtocolException do
       begin
  -      if not(Pos('<body', LowerCase(E.ErrorMessage)) = 0) then
  +      if HandleWrongProtocolException and IsWrongProtocolException(LowerCase(E.ErrorMessage)) then
           // handle normaly for wrong HTTP code responses
           WriteErrorMsgToStream(E.ErrorMessage, AResponseContent)
         else if ((not HandleRedirects) or (RedirectCount < RedirectMaximum)) and (ResponseCode = 302) then
  
positive.code:   THTTPIndyHelper = class(TIdHTTP)
    private
      FLastRedirect: string;
      FHandleSketchyRedirects: Boolean;
  
      function GetCookieList: string;
  
negative.code:     Result := copy(_RefreshHeader, Pos(url, _RefreshHeader) + length(url));
  end;
  
  function THTTPIndyHelper.IsWrongProtocolException(ALowerCaseSourceCode: string): Boolean;
  begin
    result := (not(Pos('<body', ASourceCode) = 0))
  end;
  
  procedure THTTPIndyHelper.WriteErrorMsgToStream(AMsg: string; AStream: TStream);
  begin
    WriteStringToStream(AStream, AMsg, CharsetToEncoding(ResponseCharset));
  