Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.11;
Скачать: CL | DM;

Вниз

IdHTTP1. как получить контент страницы html ?   Найти похожие ветки 

 
Officeman   (2006-09-08 00:53) [0]

Уважаемые мастера. Доброе время суток!

суть.
используя  IdHTTP1, вывести контент (то что в тегах body или всё)
в memo1.

//подключаюсь
IdHTTP1.Get("http://www.yandex.ru/index_engl_qwerty.html");

//выводу head
Memo1.Text := IdHTTP1.HostHeader;

а как всё остальное получить?


 
Officeman   (2006-09-08 07:22) [1]

прошу извинить. ответ нашёл уже в данном разделе.

p.s. опчемуто общий поиск по сайту на запрос IdHTTP. выдал только инфу про компоненты.


 
Officeman   (2006-09-08 08:42) [2]

Доброе время суток! ;)

Коротко:
Существует некоторый интернет проект. Каталог прайс-листов фирм.
Основной задачей которого является общедоступность и полезность
рядовому пользователю. с удобным поиском товара по запросу.

Реализация обновлений прайс-листов.
Планирую написать клиент версию на дельфи.  

Работа клиента. по Шагам:
Для обновления своего прайслиста фирма
использует некий клиент.
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


 
Орион ©   (2006-09-08 08:46) [3]

> [2] Officeman   (08.09.06 08:42)

> Планирую написать клиент версию на дельфи.
...
> какой путь выбрать и какие компоненты использовать
Никаких компонентов не использовать. Эти вещи пишут на PHP, а таскать с собой слоноподобную прогу никто не будет.

ЗЫ Выбирай путь дао.


 
Slym(RO)   (2006-09-08 09:42) [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)


 
Officeman   (2006-09-08 09:46) [5]

Да уж. подвесили вопросик). вернее я сам себе его подвесил.
подумаю отпишу позже, по результатам эксперимента


 
Officeman   (2006-09-08 13:26) [6]

приём данных в  локальный клиент буду делать с помощью [idHTTP.get].
потом обрабатывать текст с разделителями. сначало и в конце будут свои теги. типо begin и end.  если оба тема есть то данные успешно получены и можно обрабатыватьи грузить в таблицу. иначе реконнект и снова get...
барьеров невижу.

насчёт отправки данных надо думать. вероятно буду использовать такеойже метод.

p.s. пускай метод старый. зато проверен временем. :)


 
Slym(RO)   (2006-09-11 04:12) [7]

Прайс штука объемная, подумай об компрессии данных... дамай заранее потом клиенты на медленных каналах зааналят



Страницы: 1 вся ветка

Текущий архив: 2007.02.11;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.046 c
2-1169731239
rover111
2007-01-25 16:20
2007.02.11
TTreeView


2-1169454043
БТ
2007-01-22 11:20
2007.02.11
что означает ошибка [Error] Account_Pay.pas(87): Missing operato


15-1168984170
Tirael
2007-01-17 00:49
2007.02.11
основной шлюз


3-1163950706
REM02
2006-11-19 18:38
2007.02.11
D7 = IB 7.5 BLOB


2-1169198467
Mettt
2007-01-19 12:21
2007.02.11
Четность числа