![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
IdHTTP1. как получить контент страницы html ? [D6, Win2k]
Officeman © (2006-09-08 00:53:00)Уважаемые мастера. Доброе время суток!
суть.
используя IdHTTP1, вывести контент (то что в тегах body или всё)
в memo1.
//подключаюсь
IdHTTP1.Get(' http://www.yandex.ru/index_engl_qwerty.html');
//выводу head
Memo1.Text := IdHTTP1.HostHeader;
а как всё остальное получить?
Slym(RO) (2006-09-11 04:12:00) [1]Прайс штука объемная, подумай об компрессии данных... дамай заранее потом клиенты на медленных каналах зааналят
Officeman (2006-09-08 13:26:00) [2]приём данных в локальный клиент буду делать с помощью [idHTTP.get].
потом обрабатывать текст с разделителями. сначало и в конце будут свои теги. типо begin и end. если оба тема есть то данные успешно получены и можно обрабатыватьи грузить в таблицу. иначе реконнект и снова get...
барьеров невижу.
насчёт отправки данных надо думать. вероятно буду использовать такеойже метод.
p.s. пускай метод старый. зато проверен временем. :)
Officeman (2006-09-08 09:46:00) [3]Да уж. подвесили вопросик). вернее я сам себе его подвесил.
подумаю отпишу позже, по результатам эксперимента
Slym(RO) (2006-09-08 09:42:00) [4]Officeman (08.09.06 8:42) [2]
Это устаревший вариант
Делай так...
idHTTP.get(' http://www.catalog.ru/get_price.php?group=BA1')
Возвращается xml прайс
Работаем с прайсом, и сохраняем/кэшируем изменения
Генерируем xml для апрейта, только изменения!
<CHANGED>
<UPDATE>
<id>123</id><field1>10</field1>
</UPDATE>
<DELETE>
<id>12</id>
<id>13</id><field1>10</field1>
</DELETE>
<INSERT>
<field1>10</field1>
</INSERT>
</CHANGED>
и суем его в TIdMultipartFormDataStream
idHTTP.Post(' http://www.catalog.ru/change_price.php',MultiPartStream)
Орион (2006-09-08 08:46:00) [5]> [2] Officeman (08.09.06 08:42)
> Планирую написать клиент версию на дельфи.
...
> какой путь выбрать и какие компоненты использовать
Никаких компонентов не использовать. Эти вещи пишут на PHP, а таскать с собой слоноподобную прогу никто не будет.
ЗЫ Выбирай путь дао.
Officeman (2006-09-08 08:42:00) [6]Доброе время суток! ;)
Коротко:
Существует некоторый интернет проект. Каталог прайс-листов фирм.
Основной задачей которого является общедоступность и полезность
рядовому пользователю. с удобным поиском товара по запросу.
Реализация обновлений прайс-листов.
Планирую написать клиент версию на дельфи.
Работа клиента. по Шагам:
Для обновления своего прайслиста фирма
использует некий клиент.
1. Загрузка списка товарных групп(обновление списка)
2. Отмечаем(checkbox) нужные группы и получаем обновлённый каталог
с сервера, по полям "ид, наименование, производитель"
3. обновляем цены прайслиста (модуль уже написан)
4. Свой обновлённый прайс-лист (его данные) закачиваем обратно на сайт
5. process complete )
Вся работа пользователя по обновления своег опрайс листа сводится к простым
манипуляциям мышью, пару щелчков. на програмном уровне немного посложнее)
??? ВОТ ТУТ НАЧИНАЮТСЯ ВОПРОСЫ: (какой путь выбрать и какие компоненты использовать)
Програмный Приём данных с сайта(каталог товаров):
1. програмно давать запрос mySql на интересующую группу путём отправки запроса
на выборку товара интересующей нас группы. например.
// idHTTP.get(' http://www.catalog.ru/load.php?group=BA1')
т.е. url строкой, по заданному аргументу получаю данные из mysql таблицы 'BA1'.
2. Полученный данные по строчно загружаю в таблицу клиента.
3. локально обновляю данные (решение найдено)
4. Выгрузка обратно на хостинг:
тут масса способов. важна надёжность исполнения.
У кого какой опыт в данном вопросе ? делитесь.)
Предполагается использовать тотже метод.
Построчный Цикл в локальной табличке -> данные каждой новой позиции
передаются аргументов в url
// ' http://www.catalog.ru/next.php?id=102&name=#8345#5425#2345#1053&price=2100')
После обработки одной позиции, php модуль возвращает 'yes', и цикл продолжается до конца таблы.
5. showmessage('обновление успешно завершено');
метод описанный выше может претендовать на право сущестовать? ;)
или это полная ерунда.
--------------------
С Уважением, Officeman
Officeman (2006-09-08 07:22:00) [7]прошу извинить. ответ нашёл уже в данном разделе.
p.s. опчемуто общий поиск по сайту на запрос IdHTTP. выдал только инфу про компоненты.