Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > idHttp ,что-то не так.


Автор: 001dark 13.3.2007, 16:03
Нужна прога атоматической регистрации почты допустим www.zmail.ru 
код который я нацарапал, но я немогу никак додуматься как обрабатывать результаты smile 

кнопка "Зрегитрировать"
procedure TForm1.Button1Click(Sender: TObject);
var
data: TStringList;
STR,sfile: String;
begin
STR:='login='+E_login.Text;
STR:=STR+'&domain=zmail.ru';
STR:=STR+'&fullname='+E_fullname.Text;
STR:=STR+'&RecoverPassword='+E_RecoverPassword.Text;
STR:=STR+'&genpass=own';
STR:=STR+'&newpass='+E_newpass.Text;
STR:=STR+'&newpass2='+E_newpass.Text;
STR:=STR+'&captchaId='+E_captchaId.Text;
STR:=STR+'&captchaCode='+E_captchaCode.Text;
STR:=STR+'&create=çàðåãèñòðèðîâàòü';
STR:='http://stat.zenon.net/c/cgpaccount'+'?'+str;
Memo1.text:=STR;
IdHTTP1.HandleRedirects := True;
IdHTTP1.Get(STR);
//else  Showmessage('hER vam!! madam');
button1.Enabled:=false;
Memo1.Lines.Add('ËÎÃÈÍ = '+E_login.Text+'@zmail.ru   , '+ 'Ïàðîëü = '+E_newpass.Text);
Memo1.Lines.Add('áóäåì íàäåÿòüñÿ ,÷òî ðåãèñòðàöèÿ ïðîøëà');
Sfile:=E_login.Text+'@zmail_ru.txt';
memo1.Lines.SaveToFile(sfile);
end;


есть еще одна  кнопка "Получить картину" она грузит исправно картинку.

Теперь собственно в чем вопрос )) 
как делать редиректы В чем неправильность моего кода
В броузере если ящик не зарегистрировался, то он перекинет на страницу с ошибкой или перекинет на страницу с твоей почтой 
я делал так, memo1.Text:=IdHttp1.Response.Location;  не вышло..  Желательно теории по редиректу ну и примерчик 

и прошу исходник проги или пример, короче как можно больше инфы по indy 
PS.. инди ин дептх прочитал, не то (( 
прога работает но не дает результатов. (( 
HELP слишком я долго ее делаю 



Автор: Matematik 13.3.2007, 18:49
Если Indy не обрабатывает перенаправление сама (см. параметр HandlRedirekt), то в результате запроса вызывает исключение, которое и надо ловить
См. Список кодов состояния HTTP "Коды перенаправления": http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%BA%D0%BE%D0%B4%D0%BE%D0%B2_%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D1%8F_HTTP

Код

try
  idHTTP.Post('http://torrents.ru/forum/login.php', s);
except
  on e:Exception do
  begin
    if e is EIdHTTPProtocolException then
      if ((e as EIdHTTPProtocolException).ReplyErrorCode div 100)=3 then
        // перенаправление на другой адрес
end

Автор: 001dark 14.3.2007, 09:43
а примеры по инди подкиньте, мне описание всех компонент бы smile пожалуйста

Автор: _hunter 14.3.2007, 12:15
примеры:
http://www.indyproject.org/Sockets/Demos/index.aspx
описание всех компонентов:
http://www.indyproject.org/Sockets/Docs/index.aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)