| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > Idhttpserver и запросы |
| Автор: vood 11.3.2006, 06:54 |
| В Idhttpserver можно обрабатывать запросы("www.sss.rrr/?as=as"), но через событие OnCommandGet это не удобно. есть ли другой способ их обработки? и еще есть ли другой способ передачи ответа на запрос, кроме AREquestinfo.ContentText? |
| Автор: Prof_2000 11.3.2006, 14:36 |
| К сожалению у самого Idhttpserver таких функциональностей нет, разве что через голые сокеты(еще менее удобно). Но можешь работать с ICS компонентами. Там и настройка более проста, и ответ на запрос чрезвычайно легко организуется... |
| Автор: vood 11.3.2006, 15:46 |
| А где мне их скачать?? |
| Автор: vood 13.3.2006, 10:52 |
| Кстати как в Idhttpserver передать вместо текста файл? |
| Автор: Snowy 13.3.2006, 11:05 | ||||
| Точно также. Только mime type указать другой. Щас в закромах пример гляну... Добавлено @ 11:09 Вот пример простенького http сервера:
Добавлено @ 11:10 Набросал на скорую руку. Нужно было еще параметр для домашнего каталога сделать. Вот тут:
|
| Автор: vood 15.3.2006, 11:08 |
| Snowy, спасибо за пример. Тут накопились вопросы: 1.Как выглядит http-ответ Idhttpserver-а (пожалуйста покажите место где там AREquestinfo.ContentText)? 2.Почему если Idhttpserver сделать команд хендлер ' GET' он через него не будет обрабатывать запросы? 3.У сессий Idhttpserver тоже есть ContentText но до меня не доходить как сессиями пользоваться. Так вот вопрос: Как использовать сессии в ответе на запрос? |
| Автор: vood 16.3.2006, 11:36 |
| Кстати домашний каталог ружно задать как 'D:\Films' или нет? |
| Автор: Snowy 16.3.2006, 11:45 |
| Можно поэксперементировать. Но лучше будет задавать, как "/Films" |
| Автор: vood 16.3.2006, 11:47 |
| То есть каталог сервера Добавлено @ 11:51 Я имею ввиду ,что тот каталог к которому открыт доступ или он являеться корневым сервера нужно указывать ,а не любой на серваке |
| Автор: Snowy 16.3.2006, 12:29 |
| /Films и будет корневым для текущего диска. Для другого диска будет "E:/Films" |
| Автор: vood 17.3.2006, 10:55 |
| У сессий Idhttpserver тоже есть ContentText но до меня не доходить как сессиями пользоваться. Так вот вопрос: Как использовать сессии в ответе на запрос? |
| Автор: vood 17.3.2006, 11:21 |
| Кстати,Snowy в твоем коде ты забыл сделать AResponseInfo.WriteContent |
| Автор: Snowy 17.3.2006, 11:58 |
| Ничего я не забыл. Код полностью рабочий. |
| Автор: vood 17.3.2006, 12:01 |
| Но без записи контента он не проканает Добавлено @ 12:02 А без этого код выдавал в IE 404 Добавлено @ 12:07 Как выглядит ответ IdHttpServer на запрос (что он посылает в браузер, какой текст)? |
| Автор: vood 17.3.2006, 12:24 |
| то есть хтмл-код |
| Автор: Snowy 17.3.2006, 12:32 |
| В контенте может быть не только html. html - любая страница. Возьми любую страницу - это и будет пример. |
| Автор: vood 18.3.2006, 08:49 |
| Пасибо, Snowy! |
| Автор: vood 18.3.2006, 09:18 |
| кстати, из какой папки берет картинки страничка сгенерированная через ContentText(я имею ввиду случаи использования тега img вот так: <img src="Pict.jpg">)? |
| Автор: Ground 19.3.2006, 12:11 |
| Всмысле без указания каталога картинки?! Если так, то картинка берется из папки с HTML - страницой. |
| Автор: vood 20.3.2006, 11:52 |
| А если сгенерирован html-код? Добавлено @ 11:57 Или код записан в поток соединения? Добавлено @ 11:57 Из обьекта Threads |
| Автор: vood 20.3.2006, 12:24 |
| да еще какое свойство idhttpserver показывает кол-во соединений? |
| Автор: Snowy 20.3.2006, 12:39 |
| Из папки, которая является в данный момент текущей (GetCurrentDir, SetCurrentDir) IdHttpServer1.Threads.LockList.Count; Модератор: Пожалуйста, один топик - один вопрос. |
| Автор: vood 21.3.2006, 02:12 |
| У меня это свойство вешает сервер Есть другое? |
| Автор: Snowy 21.3.2006, 11:13 |
| Просто после этого нужно сделать UnLock |
| Автор: vood 22.3.2006, 09:53 |
| Спасибо, больше вопросов нет! |