Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Win+Apache+CGI  (Прочитано 16258 раз)
0 Пользователей и 1 Гость смотрят эту тему.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« : 11-01-2005 10:04 » 

В общем долго думал куда впаять этот топик, и решил его вклеить сюда. Если модераторы решат что не по теме он сдесь, то переносите тогда в веб.

Ситуёвина такая :
Есть виндоза, на ней стоит апачи сервер. Надо на  С/С++ написать цги приладу, которая будет читать данные из ком порта и выводить их на веб. В принципе как написать у меня вопросов не вызывает, но вот другие вопросы есть.

1. Подскажите хотя-бы где почитать про  С/С++ цги программинг под виндозу.
2.  Чем и как это компилить полученый цпп файл ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #1 : 11-01-2005 11:21 » 

Написал простенькую прогу, закинул в каталог cgi-bin экзэшник, и после ввода адреса http://localhost/cgi-bin/ApacheCGI.exe всё работает. Но вот как-то не смотрится ApacheCGI.exe   Здесь была моя ладья... Каккие действия нужно сделать для сохранения например не как ApacheCGI.exe а как ApacheCGI.cgi, чтобы апач нормально пропарсил ?  А то если пытаюсь делать cgi расширение, то получаю окно с предложением задаунлоадить этот файл   Так больше нельзя...
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #2 : 11-01-2005 11:45 » 

можно и dll, наверное. А вообще обычно так и работает.
А если обозвать index.exe - то при обращении к  http://localhost/cgi-bin/ он его найдет? Если да - то все вообще здорово. используй только метод post и в строке адреса у тебя ничего и не будет.
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #3 : 11-01-2005 12:20 » 

можно и dll, наверное.
Можно, то, можно Улыбаюсь Но вот что в конфиге апача надо прописать ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #4 : 11-01-2005 12:34 » 

МОРОЗ, попробую вечером посмотреть конфиг апача. На память его не помню

Идея такова, что там надо добавить тип файлов .cgi и это исполняемый на сервере файл.
смотреть в сторону AddType и иже с ними. Больше не помню Улыбаюсь

А по поводу CGI программинга, все стандартно.
Все заголовки как переменные окружения передаются
тело запроса в stdin, вывод в stdout вместе с заголовками.
« Последнее редактирование: 11-01-2005 12:36 от Lex » Записан

Megabyte be with you!
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #5 : 11-01-2005 12:48 » 

Lex, буду благодарен если глянеш. Вот что на данный момент у меня в конфиге апача :
Код:
#
# AddType allows you to add to or override the MIME configuration
# file mime.types for specific file types.
#
#AddType application/x-tar .tgz
#
# AddEncoding allows you to have certain browsers (Mosaic/X 2.1+) uncompress
# information on the fly. Note: Not all browsers support this.
# Despite the name similarity, the following Add* directives have nothing
# to do with the FancyIndexing customization directives above.
#
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
#
# If the AddEncoding directives above are commented-out, then you
# probably should define those extensions to indicate media types:
#
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php 
#
# AddHandler allows you to map certain file extensions to "handlers":
# actions unrelated to filetype. These can be either built into the server
# or added with the Action directive (see below)
#
# To use CGI scripts outside of ScriptAliased directories:
# (You will also need to add "ExecCGI" to the "Options" directive.)
#
AddHandler cgi-script .cgi .pl
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #6 : 11-01-2005 12:51 » 

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

Megabyte be with you!
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #7 : 11-01-2005 12:52 » 

попробуй в Виндах поставить, что cgi у тебя тоже исполняемые файлы
А так у тебя вроде все правильно (на первый взгляд)
Будь добр, ткни носом где в винде это поставить ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 11-01-2005 13:21 » 

попробуй здесь
settings->system->environment variables..->system variables->pathext
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #9 : 11-01-2005 13:39 » 

единственный способ, что я нашел это забраться в реестр в ветку HKEY_CLASSES_ROOT
найти там .exe и откопировать его содержимое в .cgi
Я просто сделал экспрот ключа в файл, поправил .exe на .cgi и импортировал
Записан

Megabyte be with you!
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 11-01-2005 17:21 » 

Можно еще запускать другой файл, а не тот, что приходит в URI - модуль Rewrite поможет.
RewriteEngine   on
RewriteRule   ^(/path/)([^/]*)\.cgi$   $1$2.exe
« Последнее редактирование: 11-01-2005 17:24 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #11 : 12-01-2005 06:37 » 

Lex, RXL, спасибки за помощь. Есть ещё одна просьба. Помогите найти инфу про то, как принимать и обрабатывать параметры из ГЕТ и ПОСТ
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #12 : 12-01-2005 10:28 » 

Ребята, всё ок Улыбаюсь Уже всё сделал Улыбаюсь Спасибо за помощь!
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
ixania
Гость
« Ответ #13 : 12-01-2005 10:41 » 

posmoptri http://www.fastcgi.com/,  i zachem sobstvenno apache pot win, mojno i IIS, u menya vot stoit IIS+FastCGI+PHP, letaet prosto
Записан
ixania
Гость
« Ответ #14 : 12-01-2005 10:43 » 

posmotri ese vot tuta http://phplens.com/phpeverywhere/fastcgi-php
Записан
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #15 : 12-01-2005 12:18 » 

Lex, RXL, спасибки за помощь. Есть ещё одна просьба. Помогите найти инфу про то, как принимать и обрабатывать параметры из ГЕТ и ПОСТ

Если еще актуально, то GET все передает в командной строке. POST в теле сообщения, т.е. брать из stdin.
Прасишь и затем декодируешь. ЕСли нужно подробнее, вечером попробую в книжках покопаться.
« Последнее редактирование: 12-01-2005 12:23 от Lex » Записан

Megabyte be with you!
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #16 : 12-01-2005 12:19 » 

ixania первое китайское предупреждение за разговор не по теме
Записан

Megabyte be with you!
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #17 : 12-01-2005 13:10 » 

ixania, ПХП меня в данном случае не интересует, как и FastCGI, иначе я бы так и спросил в форуме по Вебу Улыбаюсь
Lex, тема ещё актуальна (для себя лично), будет время, глянь пожалуйста.
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
ixania
Гость
« Ответ #18 : 12-01-2005 13:21 » 

//2Lex sorry, prosto hotel pomochi, dumal morozu nad kakuiuniti zadaciu resiti i on ne priveazan imeno k cgi programirovaniu s nulea Ага
Записан
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #19 : 12-01-2005 13:29 » 

ixania, прежде чем писать посмотрел бы кто модератор форума Web, и кто там чаще всего ответы по PHP и прочему дает Ага
Записан

Megabyte be with you!
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #20 : 12-01-2005 13:40 » 

Lex, кстати, если интересует, могу выложить сорс того что получилось у меня в итоге Улыбаюсь
Задача была такая :
Подсоединиться к ком1 порту на компе, получить данные и выдать их на Веб страничку Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #21 : 12-01-2005 14:13 » 

МОРОЗ, я примерно представляю, что получится.
Думяю лучше будет это оформить в виде статьи с небольшими коментариями.
Могу туда дописать про празбор данных с формы на С/С++
Записан

Megabyte be with you!
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #22 : 12-01-2005 14:17 » 

Не, на статью не потянет Улыбаюсь Слишком мало Улыбаюсь Там просто при запуске цги с веба, конектится прога к ком1 порту, получает данные и выводит на веб Улыбаюсь Никаких постов и гетов нету (пока, а может и не будет). Просто если данных в порту нет, тогда рефрешится страничка и пытается опять считать данные Улыбаюсь
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #23 : 12-01-2005 14:30 » 

Вполне, как пример CGI на С/С++ с описанием основных принципов.
Я добавлю описание обработки POST и GET и пару примеров на это. Все это можно оформить как одну статью.
Записан

Megabyte be with you!
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #24 : 12-01-2005 14:43 » 

Lex, ок, как минутка свободная выдастся, так попытаюсь как-то это оформить.
 
 
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines