Блог о программировании, электронике и рыбалке

Авторизация на сайте с помощью Delphi

Авторизация на сайтеВчера делал заказ. Нужно было написать программу на Delphi, которая с помощью INDY компонентов авторизируется на сайта LiveInternet и получает в Memo html код страницы поисковых фраз.

На самом деле задача довольно простая и решается за пару минут.

  • Кидаем на форму компонент IdHTTP
  • В uses добавляем IdMultipartFormData
  • Кидаем на форму два компонента Edit, кнопку и Memo

В обработчике нажатия на кнопку пишем:

// В USES должны быть IdHTTP, IdMultipartFormData
procedure TForm1.Button1Click(Sender: TObject);
var
Stream: TIdMultipartFormDataStream;
Code: String;
begin

Code:=' ';
// Mеняем UserAgent
IdHTTP1.Request.UserAgent:='Mozilla/4.0 (compatible: MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727';
// Завторизация
Stream := TIdMultipartFormDataStream.Create;
try
Stream.AddFormField('url', AnsiToUtf8(Edit1.Text));   //url-это name поля ввода логина
Stream.AddFormField('password', AnsiToUtf8(Edit2.Text));   // аналогично
IdHTTP1.HandleRedirects := True;
IdHTTP1.Post('http://www.liveinternet.ru/stat/'+Edit1.Text+'/queries.html', Stream );    //авторизируемся
code:=IdHTTP1.Get('http://www.liveinternet.ru/stat/'+Edit1.Text+'/queries.html');        // получаемк код странички
Memo1.Text:=Utf8ToAnsi(Code);    // выводим код в мемо

except
on e:Exception do
begin
Stream.Free;
exit;
end
end;
Stream.Free;

end;

liveinternet_delphi.rar (211,8 КиБ, 1 135 hits)

Присоединяйтесь к нашей группе в Telegram @GeekElectronics
  • keyboard_arrow_downАвторизация на сайте с помощью Delphi
    • Автор:
    • Миниатюра: Авторизация на сайте с помощью Delphi
    • Рубрика: Delphi в примерах
    • Обновлено: 27.12.2017
    • Комментариев: 1
    • Просмотров: 1 584
  • Оцените пожалуйста статью
    1 Star2 Stars3 Stars4 Stars5 Stars
    Загрузка...
  • Поделитесь с друзьями
Geek Electronics

Комментариев: 1

  • Avatar for source
    Игорян:

    Да, чтож Indy полезная щтука. На работе делали как-то выгрузку XML на другой сервис - насяльника застрапонил меня за предложение пользовать Indy. И вот и усирались с этим WinInet. А по мне, вышло бы проще и быстрее, без потери надёжности

Добавить комментарий

arrow_upward