Понедельник, 29.04.2024
Королевство Delphi
Главное меню
Статьи
Наш опрос
Нашли свой исходник?
Всего ответов: 94
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Статьи » Сеть-интернет » Разные

Еще пара способов получения содержимого страницы

Ранее я описывала самый простой способ получения html-кода страницы. Перед тем, как перейти к созданию прототипа парсера ключевых слов, рассмотрим еще пару способов. При использовании этих способов страница не отображается в контейнере.

Компонент TIdHTTP

Идем на вкладку Indy Clients и из широчайшего выбора компонентов останавливаемся на TIdHTTP. Компонент TIdHTTP (Indy клиент HTTP) используется для поддержки сетевого протокола HTTP на стороне клиента (поддерживаются версии 1.0 и 1.1, включая операции GET, POST и HEAD). Кроме того, обеспечивается поддержка аутентификации пользователей и применение прокси-серверов. Можете самостоятельно поэкспериментировать с ним. Я же покажу самое простое. Киньте на новую форму этот компонент, мемо и кнопку. В обработчике клика кнопки напишите:

 try 
 s := IdHTTP1.Get('http://yandex.ru'); 
 Memo1.Text := s; 
 except 
 end; 

Всего одна строчка кода — и в переменной s у вас окажется всё, что вернет Get-запрос. Мы получили все, что нужно для дальнейшей обработки.

UrlDownloadToFile

В uses добавляем UrlMon. Объявляем функцию:

function DownloadFile(SourceFile, DestFile: string): Boolean; 

Реализация:

function DownloadFile(SourceFile, DestFile: string): Boolean; 
begin 
 try 
 Result := UrlDownloadToFile(nil, PChar(SourceFile), 
PChar(DestFile), 0, 
 nil) = 0; 
 except 
 Result := False; 
 end; 
end;

Пример использования:

try 
 SLBody:=TStringList.Create; 
 sFileName:=ExtractFilePath(Application.ExeName) + 'cache.txt'; 
 currBody:=''; if DownloadFile(LinkStr,sFileName) then 
 SLBody.LoadFromFile(sFileName); 
 currBody:=SLBody.Text; 
 DeleteFile(sFileName); 
finally 
 SLBody.Free; 
end;

В результате в строковой переменной currBody останется то, что нам надо. Как вы видите, содержимое страницы загружается в файл, потом читается из файла, а сам файл, как ненужный рудимент, удаляется.

Остальные возможные способы будем разбирать по мере надобности. Пока что этих хватит даже с избытком.

Получить ссылку на материал

Категория: Разные | Добавил: Барон (20.12.2011)
Просмотров: 1901 | Теги: HEAD, TIdHTTP, post, Get | Рейтинг: 0.0/0
[ Пожертвования для сайта ] [ Пожаловаться на материал ]

Если вам помог материал сайта кликните по оплаченной рекламе размещенной в центре

Поиск
Категории раздела
Web-приложения [6]
Почта [12]
Работа с HTTP [4]
Робота с XML [4]
Сервер [3]
Разные [50]
Королевство Delphi © 2010-2024
Яндекс цитирования