Желательно доходчиво и доступно, тупо от нуля... Гуглил везде обсуждение и "как то" вроде понимаешь но не до конца... Заранее спасибо за ссылочку! Вот еще порыл вроде нашел... http://www.swissdelphicenter.ch/torry/showcode.php?id=1855
вообще то про инди куча везде инфы, я сам недавно искал когда чекер на делфи писал(правда все равно на сокетах переписал). так что не отмазывайся что гугл и яша не работает.
вешаю на кнопочку procedure TForm1.Button1Click(Sender: TObject); var data: TIdMultiPartFormDataStream; begin data := TIdMultiPartFormDataStream.Create; try {add the used parameters for the script} data.AddFormField('login', '111'); data.AddFormField('passwd', '222); data.AddFormField('Войти', 'submit'); { Call the Post method of TIdHTTP and read the result into TMemo} Memo1.Lines.Text := http.Post('http://mail.yandex.ru/pda/', data); finally data.Free; end; end; нефига не пашет... Гуру хелп плиз, лучше всего разбирать на примерах
Сначала узнать что и куда передавать! http://pda-passport.yandex.ru/passport?mode=auth Данные POST как минимум login=vova passwd=123
procedure TForm1.Button1Click(Sender: TObject); var SHttp: TSwinHttp; begin SHttp := TSwinHttp.Create(); SHttp.InThread := false; // переводим в синхронный режим SHttp.Post('http://mail.yandex.ru/pda/', 'login=111&passwd=222' ); if SHttp.Error = 0 then // если всё успешно Memo1.Lines.LoadFromStream(SHttp.Response.Content); SHttp.Free; end; вот сделал на компоненте новом что то я не въезжаю что не правильно ...
шас зделаю.... там еще 2 поля передается Code: <input type="hidden" name="idkey" value="2Ep1217705940ymil6ll5p"> <input type="hidden" name="timestamp"> Code: POST /passport?mode=auth HTTP/1.1 Host: pda-passport.yandex.ru User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1 Keep-Alive: 300 Connection: keep-alive Referer: http://pda-passport.yandex.ru/passport?mode=auth Cookie: yandexuid=1936284951213696636; yabs-frequency=/2/e8e_0Au3FBNrGG2U0pm0//fGAk0m41 Content-Type: application/x-www-form-urlencoded Content-Length: 92 idkey=2Et1217706250uqa9qp0vx×tamp=1217705353920&login=111&passwd=222&In=%C2%EE%E9%F2%E8
Как по мне ТСтрингЛист попроще в качестве постдаты будет... вотъ подправил: Code: procedure TForm1.Button1Click(Sender: TObject); var data: TStringList; begin data := TStringList.Create; try {add the used parameters for the script} data.Add('login=111'); data.Add('passwd=222'); data.Add('submit=Âîéòè'); { Call the Post method of TIdHTTP and read the result into TMemo} Memo1.Lines.Text := http.Post('http://mail.yandex.ru/pda/', data); finally data.Free; end; end;
не ошибка, а в мемо возвращает исходный текст страницы логина а не "почты", или я что - то не так понимаю и еще надо ли включать хедеры? Code: procedure TForm1.Button1Click(Sender: TObject); var data: TStringList; begin data := TStringList.Create; try {add the used parameters for the script} data.Add('login=123'); data.Add('passwd=123'); data.Add('submit=Войти'); { Call the Post method of TIdHTTP and read the result into TMemo} Memo1.Lines.Text := http.Post('http://pda-passport.yandex.ru/passport?mode=auth', data); finally data.Free; end; end;
Во первых, пиши код в тегах [.CODE] Во вторых ты забыл про печенья(cookie) В третьих авторизация на idHTTP Indy 9 наврядли получится, решение или Indy 10 Или Сокеты(рекомендую) Пример авторизации тут
Про теги учту, у меня делфи 2007(там же инди 10? ) Все заработало, а что без печенек может не получится? ------------------------------------ Спасибо большое всем!!!