Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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. выдал только инфу про компоненты.


Наверх

Титульная страница Поиск, карта сайта Написать письмо