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

Вниз

html файл как текст   Найти похожие ветки 

 
Rimd   (2007-05-21 05:34) [0]

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


 
G_M_S ©   (2007-05-21 10:35) [1]

Indy -> TidHTTP

Вызваете метод GET(url) - получаете String с телом страницы. Всю "медию" грузить отдельно :)))


 
Rimd   (2007-05-22 06:32) [2]

у меня Delphi 10 lite, Indy нет и нет возможности установить, нужен альтернативный компонент


 
Сергей М. ©   (2007-05-22 09:21) [3]


> нужен альтернативный компонент


ICS


 
DVM ©   (2007-05-22 10:24) [4]


> с помощью кокого компонента возможно вытащить текст html-
> файла

Функции Pos(), Copy() и прочие.


 
Ш-К   (2007-05-22 22:01) [5]


> > с помощью кокого компонента возможно вытащить текст html-
>
> > файла
>
> Функции Pos(), Copy() и прочие.

А почему не PUSH, JMP, POP... ?


 
G_M_S ©   (2007-05-23 09:44) [6]


> DVM ©   (22.05.07 10:24) [4]

Автор пишет:
> не загружая рисунки и прочую

Логично что он это ГРУЗИТ, а не из локального файла берет.

Хотя с другой стороны - вопрос явно для телепатов: сам он не написал конкретнее, чего делает, а угадать сложнова-то...


 
DVM ©   (2007-05-23 10:23) [7]


> А почему не PUSH, JMP, POP... ?

Потому что Pos() и Copy() - это именно те функции, которые помогут найти в текстовом html файле тело страницы, а именно тег <body> ... </body>.


> Логично что он это ГРУЗИТ, а не из локального файла берет.

Где написано, что он грузит с сервера? Из файлов тоже можно загрузить и текст и рисунки и черта лысого.

А вот слово файл указано в вопросе явно.

Я вообще специально так ответил, чтобы автор понял, что вопросы надо задавать ясно и четко, не допуская двусмысленности ибо каков вопрос, таков ответ.


 
DVM ©   (2007-05-23 10:26) [8]

Более того, слово файл не применимо к некому ресурсу на Web сервере, при обращении к которому мы получаем код страницы ибо файла как такового может на сервере вообще не существовать, как и пути по которому обратились - все может генерироваться на лету обработчиками запросов к серверу.


 
G_M_S ©   (2007-05-23 15:14) [9]


> не допуская двусмысленности ибо каков вопрос, таков ответ.

Тут тема есть - http://delphimaster.net/view/15-1179861925/ , где имеется фантастический рассказ, из которого можно сделать вывод о неверности данного утверждения.

Хотя ИМХО - большинство вопросов ставят в тупик, т.к. непонятно, чего ИМЕННО спрашивает автор. Так что ИМХО - золотые слова, но в плане глобальной ИСТИНЫ - правда в рассказе, в последнем абзаце :)))


> Более того, слово файл не применимо к некому ресурсу
Вполне применимо. Мы ВСЕГДА запрашиваем ФАЙЛ. Приведи хоть один пример, когда мы с вэб-сервера запрашиваем НЕ файл.


 
Плохиш ©   (2007-05-23 15:21) [10]


> Вполне применимо. Мы ВСЕГДА запрашиваем ФАЙЛ. Приведи хоть
> один пример, когда мы с вэб-сервера запрашиваем НЕ файл.

Вообще-то по стандарту по запросам http-сервера возвращают все данные в виде текста. И протокол даже так и называется - протокол передачи расширенного текста.
Хотя может вы только про себя говорите, тогда это ваши проблемы, это вы здесь всё постоянно имена файлов в ответах ищете...


 
umbra ©   (2007-05-23 15:31) [11]


> Мы ВСЕГДА запрашиваем ФАЙЛ.

лучше говорить, что мы запрашиваем ресурс. Это может быть файл, может быть несколько файлов, может быть результат работы серверного скрипта и т.д.


 
DVM ©   (2007-05-23 16:25) [12]


> Вообще-то по стандарту по запросам http-сервера возвращают
> все данные в виде текста

HTTP сервер и бинарные данные может возвращать (картинка например).


 
G_M_S ©   (2007-05-24 09:52) [13]


> может быть результат работы серверного скрипта

Все равно запрашивается конкретный файл, и в URL фигурирует именно файл. Возвращается не файл.


> Хотя может вы только про себя говорите, тогда это ваши проблемы,
>  это вы здесь всё постоянно имена файлов в ответах ищете.
> ..
Укажите пример, когда в запросе фигурирует НЕ ФАЙЛ
(для справки - любой серверный скрипт это тоже файл)


> Вообще-то по стандарту по запросам http-сервера возвращают
> все данные в виде текста.

Речь идет о том, что мы запрашиваем. И далеко не всегда результат приходит в виде текста (пример - картинки, архивы, любой бинарник).


> может быть несколько файлов
Не может.


 
DVM ©   (2007-05-24 10:53) [14]


> Все равно запрашивается конкретный файл, и в URL фигурирует
> именно файл. Возвращается не файл.
Укажите пример, когда в запросе фигурирует НЕ ФАЙЛ
(для справки - любой серверный скрипт это тоже файл)


Не обязательно. Ты можешь обратиться к веб-серверу с каким либо запросом, в котором необязательно может фигурировать какое-либо имя файла, например: http://www.yandex.ru - какой файл мы запрашиваем в данном случае? Только не надо говорить, что index.html - там вообще нет файлов. А есть программа на C вкомпилированная скорее всего в веб-сервер непосредственно, которая строит страницу на основании запроса и данных из базы. Даже скриптов в виде отдельных файлов может не быть.

Если я напишу программу на чистых сокетах, представляющую всего один файл и выдающую страницы на основании разных запросов - где здесь файлы? Сам сервер? Бред.


> Речь идет о том, что мы запрашиваем.

Вот именно, мы запрашиваем URL/URI - и во всех этих абревиатурах фигурирует слово ресурс, но не файл.


> > может быть несколько файлов

может POST запрос или multipart/x-mixed-replace ответ


 
umbra ©   (2007-05-24 11:13) [15]


> > может быть несколько файлов
> Не может.
>

xxx.html + banner1.png + banner2.gif + ......


 
G_M_S ©   (2007-05-24 12:31) [16]


> в котором необязательно может фигурировать какое-либо имя
> файла, например: http://www.yandex.ru - какой файл мы запрашиваем
> в данном случае?

Индексный файл корневого каталога хоста yandex.ru


>  А есть программа на C вкомпилированная скорее всего в веб-
> сервер непосредственно

1) Ни разу не видел, что б таким извратом занимались
2) Первой же строкой запроса в любом случае будет
{МЕТОД} URL {стандарт}, где URL будет тыкать в конкретную точку на сервере. А уж что там найдется и как сервер на это прореагирует - пофиг (напомню, мы говорим о том, что запрашиваем, а не о том, что там реально лежит и что мы получим в ответ).

>  где здесь файлы? Сам сервер? Бред.

Да пиши что хочешь. Без конкретног указания местоположения на сервере в запросе ты все равно нифига по протоколу HTTP не сделаешь :)))


> Вот именно, мы запрашиваем URL/URI - и во всех этих абревиатурах
> фигурирует слово ресурс, но не файл.

Давай тогда определяться с терминологией, что такое файл (что такое URL и так в RFC написано).


> может POST запрос

POST <URL> {стандарт}
от GET он будет отличаться только финальной частью запроса, где будут переданы параметры.


>  или multipart/x-mixed-replace ответ

Про ответ речь не шла.


> xxx.html + banner1.png + banner2.gif + ......

Это будет вообще получено бравзером НЕСКОЛЬКИМИ http запросами


 
DVM ©   (2007-05-24 12:36) [17]


> Да пиши что хочешь. Без конкретног указания местоположения
> на сервере в запросе ты все равно нифига по протоколу HTTP
> не сделаешь :)))

Где тут файл скажи мне:
Я обращаюсь к самопальному веб-серверу по адресу http://127.0.0.1. Сервер состоит из одного файла - исполняемого.

Файл по определению - это именованная область данных на диске. ИМХО нет в этом слечае файлов. Пора прекращать этот тупой спор - я не знаю чего ты пытаешься доказать, но запрашивают ресурсы, а не файлы, ресурсы могут не лежать на диске сервера.


> 1) Ни разу не видел, что б таким извратом занимались

Значит не имел дела с очень высокопроизводительными движками. Это делается для ускорения ответа сервера.


 
G_M_S ©   (2007-05-24 12:48) [18]


> Я обращаюсь к самопальному веб-серверу по адресу http://127.
> 0.0.1

Ты запросил индексный файл корневого каталога на хосте 127.0.0.1


> Файл по определению - это именованная область данных на
> диске.

И что же тогда за файл с именем CON? А файл LPT1? А файлики из каталога /dev?
Учи, что такое ФАЙЛ.


> о запрашивают ресурсы, а не файлы

Аццкий отжиг :)))


> Значит не имел дела с очень высокопроизводительными движками.

Ты даже вообразить себе не можешь, с чем я имел дело :)))

ЗЫ: есть !ЕДИНСТВЕННЫЙ! вариант запроса НЕ файла с HTTP сервера. Но он выполняется НЕ с методами GET или POST. Читай RFC2068.

ЗЗЫ: перед RFC в целом теорию о том, что такое "файл" и пр. почитай.


 
DVM ©   (2007-05-24 13:08) [19]


> Ты запросил индексный файл корневого каталога на хосте 127.
> 0.0.1

Я запросил не файл, а ресурс по данному адрусу. Этим ресурсом может оказаться не файл.


> И что же тогда за файл с именем CON? А файл LPT1? А файлики
> из каталога /dev?
> Учи, что такое ФАЙЛ.

Это не файлы. Для удобства работы они представлены как файлы, но не более того. Будь спокойней.


> Аццкий отжиг

Вроде взрослый человек уже.


> Ты даже вообразить себе не можешь, с чем я имел дело

То что описал, стандартный подход. Ничего необычного.


> ЗЫ: есть !ЕДИНСТВЕННЫЙ! вариант запроса НЕ файла с HTTP
> сервера.

CONNECT что ли?


> ЗЗЫ: перед RFC в целом теорию о том, что такое "файл" и
> пр. почитай.

Чья бы корова мычала. Не нервничай так.


 
G_M_S ©   (2007-05-24 13:15) [20]


> Этим ресурсом может оказаться не файл.

Не может. Ибо ФАЙЛ.


> Это не файлы. Для удобства работы они представлены как файлы,
>  но не более того. Будь спокойней.

Да ну?...


> Вроде взрослый человек уже.

Зато ОЧЕНЬ прямолинейный, сказал, как есть.


> CONNECT что ли?

Не угадал. Читай RFC внимательней :)))


> Чья бы корова мычала.
No comments


 
DVM ©   (2007-05-24 13:28) [21]


> > Этим ресурсом может оказаться не файл.
>
> Не может. Ибо ФАЙЛ.

Между прочим в том же RFC слово файл не используется для описания GET и POST запросов. Используется как я и говорил, слово ресурс.

Но, если ты такой упрямый, то можешь разубедить меня в этом, просто приведя цитату из RFC (лучше на англиском), где бы явно было написано, что обращаясь к http серверу мы запрашиваем файл.


> Да ну?...

Приведи свое определение файла, чтобы внести ясность. Не забудь про файлы отображенные в память и прочее.


> Не угадал. Читай RFC внимательней

Да, действительно, ошибся немного, но сути спора это не меняет. Мы говорим о методе GET и о том, что же мы запрашиваем с его помощью


 
Anatoly Podgoretsky ©   (2007-05-24 14:30) [22]

Не спорьте горячие финские парни.
HTPP никакими файлами не оперирует.
Более того где здесь файл  http://server/1.txt или http://server


 
G_M_S ©   (2007-05-24 18:19) [23]


> Используется как я и говорил, слово ресурс.

Исчо раз: учи сначала, что такое файл.


> Приведи свое определение файла, чтобы внести ясность.

Да тут бы лучше не мое... Но что-то мне подходящего источника не попалось - все какая-то сильно специфичная литература под рукой... Но вкратце - любой именованый ресурс, имеющий точку входа в перечне аналогичных именованых ресурсов, именуемом "файловой системой"


> Да, действительно, ошибся немного, но сути спора это не
> меняет.
Меняет. Показало бы твою грамотность...


> HTPP никакими файлами не оперирует.

Этот может и не оперирует. Я вообще такого протокола не знаю.


> Более того где здесь файл  http://server/1.txt

//server/1.txt


> //server

Индексный файл корневого каталога хоста "server"


 
Anatoly Podgoretsky ©   (2007-05-24 18:48) [24]

> G_M_S  (24.05.2007 18:19:23)  [23]

А догадаться интеллект не позволяет


 
DVM ©   (2007-05-24 21:58) [25]


> Меняет. Показало бы твою грамотность...

Нет не меняет. Мы ведем разговор о Get запросах. Остальные виды, сколько их там - 3, кажется, тут не при чем. Причем мне на практике достаточно только POST и GET запросов, если понадобятся прочие - не сомневайся, я прочту RFC. А ты все RFC, КОНЕЧНО ЖЕ ЗНАЕШЬ НАИЗУСТЬ.


> Исчо раз: учи сначала, что такое файл.

Приведи определение нормальное, глядишь и выучу.


> Но вкратце - любой именованый ресурс, имеющий точку входа
> в перечне аналогичных именованых ресурсов, именуемом "файловой
> системой"

Ага, масло масляное. Под это определение можно подогнать вообще что угодно. Кроме того файл может не иметь имени. Вот разобрался бы сам сначала в терминах, а потом и других стал поучать.

Если бы ты немного был поскромнее в оценке своих знаний, то может быть и понял, что дать однозначное определение термину файл нельзя ибо все такие определения либо неполны (мой пример) либо рекурсивны (пример ты привел).

И все же цитату про файлы из RFC (оригинального, не переводного) приведи пожалуйста. Чтоб, так сказать, ясность была. Что то я там файлов никак не найду нигде. У нас RFC разные наверное.


 
Anatoly Podgoretsky ©   (2007-05-24 22:30) [26]


> > Более того где здесь файл  http://server/1.txt
>
> //server/1.txt

На сервере нет файла с таким именем, вообще нет ни одного объекта с таким именем, а вот во втором примере файл на сервере вполне может быть.

Ты повелся на синтаксис и я ожидал этого, а он с двойным дном.

Читаем RFC где разъяснена такая возможность, широко используется Апачем. Дельфи CGI предоставляет такую возможность в WEB модуле.


 
DVM ©   (2007-05-24 22:37) [27]


> На сервере нет файла с таким именем, вообще нет ни одного
> объекта с таким именем

Да он все равно будет упирать на то, что мы запрашивая http://server/ - мы запрашиваем файл. Т.е. все возможные пути, по которым сервер выдает что-то - это имена своего рода файлов (пусть их даже на диске нет), которые в совокупности составляют некую файловую систему сервера. Я так его понял.


 
Anatoly Podgoretsky ©   (2007-05-24 22:54) [28]

> DVM  (24.05.2007 22:37:27)  [27]

Его дело, но протокол http не оперирует понятием файл, даже если ему кажется, что он обращается к файлу, на самом деле к ресурсу и ему в общем случае возвращается страница, а дальше MIME

Приведенный мною пример, очень четко иллюстрирует известную мысл Козьмы Пруткова

"Если на клетке с буйволом написано лев, то не верь глазам своим"

Хакеры сумели протолкнуть в RFC несколько приколов и возможность обманывать пользователя, практически любой пользователь без боязни щелкнет по подобной ссылке, вот тут то он и попался.


 
G_M_S ©   (2007-05-25 10:39) [29]


> А догадаться интеллект не позволяет

А зачем строить догадки, если конкретно написано?


> Мы ведем разговор о Get запросах.

Перечитай вопрос аффтара - там ни слова о GET-запросах небыло. Более того, ты сам в (DVM ©   (24.05.07 10:53) [14]) упоминал POST-запросы.


> сколько их там - 3, кажется,

вообще-то 7


>  А ты все RFC, КОНЕЧНО ЖЕ ЗНАЕШЬ НАИЗУСТЬ

Держу под рукой в силу надобности.


> Приведи определение нормальное, глядишь и выучу.
Да я вроде в репетиторы не нанимался - определения тебе надиктовывать...


>  Под это определение можно подогнать вообще что угодно.

Подгони что-нибудь...


> Кроме того файл может не иметь имени.

о_0 Приведи пример


> Если бы ты немного был поскромнее в оценке своих знаний

А где это я оценивал свои знания?


>  Вот разобрался бы сам сначала в терминах, а потом и других
> стал поучать.

Первым поучать начал именно ты в (DVM ©   (23.05.07 10:23) [7])


>  Что то я там файлов никак не найду нигде

По всей видимости, не там ищешь. И не то, вдобавок.


> На сервере нет файла с таким именем

Опять к вопросу, а что же такое файл? Даже в виндах это далеко не "именованая область диска", а уж в юниксах и подавно.


> Ты повелся на синтаксис и я ожидал этого, а он с двойным
> дном.

Жалкая попытка :)))


> Его дело, но протокол http не оперирует понятием файл,

Гыг :))) А с другой стороны посмотреть не пробовали? Не по пути "RFC -> FILE", а по пути "FILE -> RFC"? Спорим, что вы не математик?


> вот тут то он и попался

LoL, чувак. Мегалол. По всей видимости, мыслите вы несколько уже, чем я предполагал :))) Тыкал-тыкал носом... Так и не поняли. Фиг с вами. Если хотите - можем еще пофлудить, с удовольствием разобью в пух и прах любые ваши доводы.


 
DVM ©   (2007-05-25 10:53) [30]


> Перечитай вопрос аффтара - там ни слова о GET-запросах небыло.

Там вообще о запросах не было, о чем я сразу в первом своем посте и сказал. Это Вы начали искать там сервер и запросы и файлы на сервере. Из вопроса ясно следовало, что человек имеет html файл и ему надо выделить тело страницы.


> о_0 Приведи пример

Файл, отображенный в память, например. Слышал, надеюсь о таких?

HANDLE CreateFileMapping(

   HANDLE hFile, // handle to file to map
   LPSECURITY_ATTRIBUTES lpFileMappingAttributes, // optional security attributes
   DWORD flProtect, // protection for mapping object
   DWORD dwMaximumSizeHigh, // high-order 32 bits of object size  
   DWORD dwMaximumSizeLow, // low-order 32 bits of object size  
   LPCTSTR lpName  // name of file-mapping object
  );


lpName может быть пустым, тогда файл не будет иметь имени.


> с удовольствием разобью в пух и прах любые ваши доводы.

Флудить мы не будем. Не услышал от тебя пока ни одного серьезного довода, как и не одного ответа на мои вопросы. Ты, так и не привел цитату из RFC касательно файлов.


 
Anatoly Podgoretsky ©   (2007-05-25 11:04) [31]

> G_M_S  (25.05.2007 10:39:29)  [29]

>> Ты повелся на синтаксис и я ожидал этого, а он с двойным дном.

> Жалкая попытка :)))

Которая удалась, правда я и не сомневался.


 
G_M_S ©   (2007-05-25 17:34) [32]


> Это Вы начали искать там сервер и запросы и файлы на сервере.
>  

...что в последствии и было подтверждено автором...


> Из вопроса ясно следовало, что человек имеет html файл и
> ему надо выделить тело страницы.

1. Сомнительно, что для этих целей следует юзать TWebBrowser (файл-то локальный!), файл и так любой дурак прочитает.
2. Еще более сомнительно, что данный топик ему в этом помог :)))


> lpName может быть пустым, тогда файл не будет иметь имени.
Я б не стал называть "это" файлом.

> HANDLE CreateFileMapping(
Эта функция создает НЕ ФАЙЛ. MSDN: "file mapping object for a specified file.
"


> тогда файл не будет иметь имени.

Файл будет иметь имя. зеркало в памяти - нет, но оно не файл и частью файловой системы не является.


> Флудить мы не будем.

Правильно. Говорить о флуде в будущем времени глупо, в данном случае следует употреблять настоящее и прошедшее время.


>  Не услышал от тебя пока ни одного серьезного довода

Равно как и я от тебя.


> как и не одного ответа на мои вопросы
Я от тебя тоже. Может, мы близнецы? о_0


> Ты, так и не привел цитату из RFC касательно файлов.

В RFC-2068 нет цитат касательно файлов. Цитаты надо искать в доках к файловым систем ОС.


 
DVM ©   (2007-05-25 21:27) [33]


> 1. Сомнительно, что для этих целей следует юзать TWebBrowser
> (файл-то локальный!), файл и так любой дурак прочитает.

Ты слишком хорошего мнения о местных дураках. Я правда TWebBrowser и не советовал использовать.


> Я б не стал называть "это" файлом.

Ну как хочешь. Может это и в сам деле не файл, хотя по всем признакам он.


> Может, мы близнецы?

Не похожи. Сайт у тебя забавный. Особенно фотки.

Ладно, мне этот спор надоел честно говоря - каждый останется при своем и даже если бы мы что-то выяснили в этом споре автору вопроса от этого не легче. Извиняй, если чем то обидел.



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

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

Наверх




Память: 0.59 MB
Время: 0.02 c
1-1194198435
Slim
2007-11-04 20:47
2008.02.17
DBLookupComboboxEh1


2-1200933382
Chysti
2008-01-21 19:36
2008.02.17
Как поменять свойство Caption у всех компонентов формы


15-1200674989
Черный Шаман
2008-01-18 19:49
2008.02.17
Китайцы объявляют территорию России своей землей


15-1200289306
вовчик
2008-01-14 08:41
2008.02.17
Вопрос по администрированию доступа к папке


2-1201188185
Knob
2008-01-24 18:23
2008.02.17
Положение курсора в StringGrid