Форум: "Сети";
Текущий архив: 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.57 MB
Время: 0.048 c