Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.041 c
15-1199627539
kit
2008-01-06 16:52
2008.02.17
хочу научится кодить


15-1200672674
Dib@zol
2008-01-18 19:11
2008.02.17
Растеризация


2-1201203089
AntonUSAnoV
2008-01-24 22:31
2008.02.17
фильтрую....


2-1201335243
Res
2008-01-26 11:14
2008.02.17
Unicode


15-1200486753
Petr V. Abramov
2008-01-16 15:32
2008.02.17
от имени и по поручению Олега Егорова





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский