DELPHI INDY АВТОРИЗАЦИЯ

Авторизация – это одна из самых важных функций в веб-разработке. В Delphi для реализации авторизации можно использовать компоненты Indy. Среди них есть несколько классов, которые могут быть полезны при реализации авторизации. Например, TIdHTTP, TIdTCPClient и TIdCookieManager.Для авторизации с помощью компонента TIdHTTP можно использовать методы POST и GET. Для отправки POST-запроса можно использовать следующий код:IdHTTP1 := TIdHTTP.Create(nil);try Params := TStringList.Create; try Params.Add('login=' + login); Params.Add('password=' + password); Response := IdHTTP1.Post('http://example.com/login.php', Params); finally Params.Free; end;finally IdHTTP1.Free;end;Авторизация может быть осуществлена и с помощью компонента TIdTCPClient. Для этого можно воспользоваться следующим кодом:IdTCPClient1 := TIdTCPClient.Create(nil);try IdTCPClient1.Host := 'example.com'; IdTCPClient1.Port := 80; IdTCPClient1.Connect; IdTCPClient1.IOHandler.WriteLn('POST /login.php HTTP/1.1'); IdTCPClient1.IOHandler.WriteLn('Host: example.com'); IdTCPClient1.IOHandler.WriteLn('Content-Type: application/x-www-form-urlencoded'); IdTCPClient1.IOHandler.WriteLn('Content-Length: ' + IntToStr(Length(LoginRequest))); IdTCPClient1.IOHandler.WriteLn(''); IdTCPClient1.IOHandler.WriteLn(LoginRequest); Response := IdTCPClient1.IOHandler.ReadString(IndyTextEncoding_Default, -1);finally IdTCPClient1.Free;end;Необходимо заменить "example.com" на действующее значение. Авторизация также может быть осуществлена при помощи класса TIdCookieManager, который управляет куками. Для использования компонента TIdCookieManager необходимо настроить компонент TIdHTTP следующим образом:IdHTTP1 := TIdHTTP.Create(nil);try IdCookieManager1 := TIdCookieManager.Create(nil); try IdHTTP1.CookieManager := IdCookieManager1; Params := TStringList.Create; try Params.Add('login=' + login); Params.Add('password=' + password); Response := IdHTTP1.Post('http://example.com/login.php', Params); finally Params.Free; end; finally IdCookieManager1.Free; end;finally IdHTTP1.Free;end;Эта конструкция позволяет перехватывать куки в ответе от сервера и выставлять нужные куки в запросе. Таким образом, можно сохранять сессию авторизации между запросами.В конце не забудьте закрыть соединение:IdHTTP1.Disconnect;

TCP client and server in Delphi

POST и GET запросы в Delphi - Indy idHTTP

Delphi indy авторизация на сайтах idHTTP

Авторизация на сайте Одноклассников. Delphi, Indy

DAISY летние возможности и новая система командной работы

Авторизация на сайте, Delphi (idhttp)

Урок Авторизация и Регистрация углубленное изучение

IndyHttp GET with OpenSSL

Реклама
Новое
Реклама