IdHttp1 Убрать ошибку

РоманР
Дата: 07.05.2011 14:00:12
В общем посылаю я Post запрос на сервер чтобы авторизоваться. Все нормально проходит авторизация тоже проходит ВСЕ ОТЛИЧНО РАБОТАЕТ. Но мне выдает ошибку POST http/1.0 302 ok (это ответ от сервера о успешной авторизации как я понял). Мне нужно отключить вывод этой ошибки. т.к. приходиться тыкать постоянно на ОК чтобы все норм работало. Напоминаю прога робит нормаьно нужно только убрать вывод ошиби.
ДжекНепотрошитель
Дата: 07.05.2011 14:06:18
1. Можно тебе наугад предложить десяток-другой вариантов отключений сообщений об ошибках, а ты будешь подбирать, какой тебе подойдет.
2. Ты все-таки приведешь код и описание метода, с помощью которого посылаешь запрос, и получишь конкретный ответ.
Какой вариант лучше?
РоманР
Дата: 07.05.2011 14:07:57
ДжекНепотрошитель,

procedure TForm1.Button1Click(Sender: TObject);
var
 LoginInfo: TStringList;
 Response: TStringStream;
begin

  try
    LoginInfo := TStringList.Create;
    Response := TStringStream.Create('');
    LoginInfo.Add('Page=http://forum.deti.mail.ru/topic.html?tid=117743');
    LoginInfo.Add('Login=rom44444');
    LoginInfo.Add('Domain=mail.ru');
    LoginInfo.Add('Password=12101212a');
    IdHTTP1.Post('http://swa.mail.ru/cgi-bin/auth',LoginInfo,Response);
    //Showmessage(Response.DataString);
  finally
    begin
      Response.Free;
      LoginInfo.Free;
    end;
  end;

end;
ДжекНепотрошитель
Дата: 07.05.2011 14:21:15
procedure TForm1.Button1Click(Sender: TObject);
var
 LoginInfo: TStringList;
 Response: TStringStream;
begin

  try
    LoginInfo := TStringList.Create;
    Response := TStringStream.Create('');
    LoginInfo.Add('Page=http://forum.deti.mail.ru/topic.html?tid=117743');
    LoginInfo.Add('Login=rom44444');
    LoginInfo.Add('Domain=mail.ru');
    LoginInfo.Add('Password=12101212a');
    try
      IdHTTP1.Post('http://swa.mail.ru/cgi-bin/auth',LoginInfo,Response);
    except
      on e: Exception do //правильнее, конечно, проверять конкретный класс исключения HTTP и его код ответа, но я его наизусть не помню
        if pos('302', e.Message = 0) then raise;
    end;
    //Showmessage(Response.DataString);
  finally
    begin
      Response.Free;
      LoginInfo.Free;
    end;
  end;

end;
РоманР
Дата: 07.05.2011 14:23:53
ДжекНепотрошитель,

Спасибо большое
ДжекНепотрошитель
Дата: 07.05.2011 14:24:53
ДжекНепотрошитель
if pos('302', e.Message = 0) then raise;


if pos('302', e.Message) = 0 then raise;