Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

.exe в качестве cgi...

279
07 января 2007 года
bave
456 / / 07.03.2004
Есть такая проблема:
Допустим у меня на странице такая форма:
<form action="/cgi-bin/gw1.exe" method="GET">
<input type=text size=50 name=test value="Бла... бла... бла...">
<input type=submit value="Проверить">
</form>
----------------------------------------------------------------
После нажатия на кнопку "Проверить" шлюз gw1.exe как и положенно
получает с формы данные, куда надо их записывает и завершается -
но вот браузер Internet Explorer-зараз ещё и пытается открыть страницу
gw1.exe!!!!, а FireFox - вообще пытается скачать gw1.exe с сервера!!! -
Кошмар!!!
Как сделать так чтоб после выполнения .exe-шлюза - оставалась
открытой всё та же страница и браузеры не рыпались что-либо делать
с .exe-шником????
300
07 января 2007 года
ReDrum
689 / / 20.04.2000
Чтобы страница не перегружалась - есть модное слово AJAX
А для того чтобы .exe не сохранялся на твердый диск - надо настроить твой уеб сервер, что бы он он оисполнял этот файл, а не выплевавал ;)=
279
07 января 2007 года
bave
456 / / 07.03.2004
Цитата:
А для того чтобы .exe не сохранялся на твердый диск - надо настроить твой уеб сервер, что бы он он оисполнял этот файл, а не выплевавал


Так он и исполняется, а сохрнаиться он пытается только если открывать
страницы через FireFox.
И в настройках сервера прописано:
AddHandler cgi-script .bat .exe .cgi .pl
-------------------------------------------------------------
AJAX - это что за модное слово, можно подробней?

22K
07 января 2007 года
webfashion
13 / / 06.01.2007
Проще всего переименовать .exe в .cgi
256
07 января 2007 года
foxweb
1.0K / / 27.07.2005
Аяй-яй... И никто не вспомнил про Content-type: text/html\n\n

PHP все привыкли, что автоматом делает, а вот кто Перлом занимался про такую вещь знают. Если в Перле не указать тип данных, браузер тоже его попытается сохранить.

На exe обычно тип данных application/octet-stream или что своё в зависимости от браузера и расширения, в любом случае сохранять кинется.

Попробуй сменить на cgi - тоже сохранять будет, если правильный тип данных не задашь.
279
07 января 2007 года
bave
456 / / 07.03.2004
Скорее всего проблема то в настройке сервера... - поскольку у меня
cgi - это .exe-программы они не являются сценриями - по идее сервер
не только пытается выполнить, но и открыть .exe (а firefox - при открытии видит .exe и раз уж не может открыть, так пытается хотя бы сохранить)
------------------------------------------------------------
Как то надо поменять настройки сервера, чтоб .cgi -только выполнялись
и не открывались - т.е. не выполнялся переход на .cgi.
--------------------------------------------------------------
Сейчас у меня настройки директории cgi-bin такие:
<Directory "F:/WebServer/Apache/cgi-bin">
AllowOverride All
Options ExecCGI
</Directory>
Общие настройки для всех директории такие:
<Directory />
Options ExecCGI FollowSymLinks Includes Indexes MultiViews
AllowOverride All
</Directory>
--------------------------------------------
Может что-то поменять?
22K
07 января 2007 года
webfashion
13 / / 06.01.2007
Цитата:
PHP все привыкли, что автоматом делает, а вот кто Перлом занимался про такую вещь знают. Если в Перле не указать тип данных, браузер тоже его попытается сохранить.



Не знаю про Перл, но если извращаться и писать сценарии на C++, и не указать контент-тип, просто произойдет ошибка 500.

279
08 января 2007 года
bave
456 / / 07.03.2004
Так не устанавливать же мне PHP, если я всегда на C++ программирую.
(Я PHP и Perl в глаза то ни разу не видел, и кстати желания увидеть нету.)
---------------------------------------------------------------------
Где этот контент тайп указать?
300
08 января 2007 года
ReDrum
689 / / 20.04.2000
Цитата: bave


Где этот контент тайп указать?



Гм, ты выдаешь заголовок вначале работы твоего бинарника или нет?
т.е. что то вроде

 
Код:
int main() {
    printf("Content-Type: text/html\n\n");

    ... твой код
 
    exit(0)  
}


Про AJAX - как пример на этом форуме - быстрый ответ на сообщение.
Gmail, Google Maps, Metacafe, YouTube, etc
256
08 января 2007 года
foxweb
1.0K / / 27.07.2005
Цитата: ReDrum

 
Код:
int main() {
    printf("Content-Type: text/html\n\n");

    ... твой код
 
    exit(0)  
}



Не обязательно знать PHP и Perl, но необходимо знать хотя бы эти азы CGI, поскольку вопрос из области "учите матчасть" ;)

Ну так что, указание типа содержимого помогло? Не томи ;)

240
08 января 2007 года
aks
2.5K / / 14.07.2006
Цитата: webfashion
Не знаю про Перл, но если извращаться и писать сценарии на C++, и не указать контент-тип, просто произойдет ошибка 500.


На С++ и С не пишутся сценарии. даже если это CGI программа )

279
09 января 2007 года
bave
456 / / 07.03.2004
Так... так... так... - printf("Content-Type: text/html\n\n"); - пашет...
Так это что получается?! - всё что я передаю в stdout будет обработано
браузером? - и можно даже сценарии прямо C++ кодом написать?!?
------------------------------------------------------------------
Самый актуальный вопрос:А что нужно выдать в stdout, чтобы попросить
браузер перейти на другую страницу?
300
09 января 2007 года
ReDrum
689 / / 20.04.2000
Цитата: bave
Так... так... так... - printf("Content-Type: text/html\n\n"); - пашет...
Так это что получается?! - всё что я передаю в stdout будет обработано
браузером? - и можно даже сценарии прямо C++ кодом написать?!?



;))))
Да, по своей сути cgi - это элементарная работа с текстом, т.е проще говоря набо условий при котором этот текст понимается ;)))
Отсюда, как раз такое получается ты можешь сделать cgi скрипт на той платформе которая тебе нравится и которая может работать с текстом ;)=

Цитата:

Самый актуальный вопрос:А что нужно выдать в stdout, чтобы попросить
браузер перейти на другую страницу?


Это нарырается редирект. а выдаешь на такой же манер.
printf ("Location: SOME_URL\n\n");

А вообще, на почитать - ключевые слова RFC 2616 'Hypertext Transfer Protocol' ж)=

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог