Сайтостроительство


         

Создание CGI-программ - часть 3


Броузер будет воспринимать его, как обычный текст и выводить в точности как есть. Здесь не надо заменять спецсимволы типа < на их эквиваленты &lt;. Скопируйте этот скрипт в директорию /cgi-bin с именем env. Установите атрибут 755 (rwxr-xr-x). Вот результат выполнения такого скрипта на моем unix-сервере:

GATEWAY_INTERFACE=CGI/1.1 REMOTE_USER=itsoft REMOTE_ADDR=192.168.34.134 QUERY_STRING= REMOTE_PORT=1781 HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 5.0; Windows 98; DigExt) DOCUMENT_ROOT=/usr/local/www/itsoft AUTH_TYPE=Basic SERVER_SIGNATURE=<ADDRESS>Apache/1.3.12 Server at itsoft.ru Port 80</ADDRESS>

HTTP_ACCEPT=gif, x-xbitmap, jpeg, pjpeg, */* SCRIPT_FILENAME=/usr/local/www/itsoft/cgi-bin/web/env HTTP_HOST=itsoft.ru REQUEST_URI=/cgi-bin/web/env SERVER_SOFTWARE=Apache/1.3.12 (Unix) PHP/3.0.17 HTTP_CONNECTION=Keep-Alive HTTP_COOKIE=/cgi-bin/authenticate.cgi_LAST=956345778 PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin: /usr/local/bin:/usr/X11R6/bin HTTP_ACCEPT_LANGUAGE=ru SERVER_PROTOCOL=HTTP/1.1 HTTP_ACCEPT_ENCODING=gzip, deflate REQUEST_METHOD=GET SERVER_ADMIN=igor@itsoft.ru SERVER_ADDR=194.226.32.34 SERVER_PORT=80 SCRIPT_NAME=/cgi-bin/web/env SERVER_NAME=itsoft.ru

Программа на языке Си для Windows и веб-сервера Internet Information Server будет выглядеть следующим образом:

#include <stdio.h> #include <stdlib.h> void main() { char *text; char str[1024]; int length; FILE *in;

sprintf(str,"command.com /c set>%s\\temp\\env.dmp",getenv("PATH_TRANSLATED")); system(str);

sprintf(str,"%s\\temp\\env.dmp",getenv("PATH_TRANSLATED")); in = fopen(str, "rb"); if( !in ) { printf("Content-type: text/plain\n\nCan't open file %s.", str); return; }

fseek(in, 0, SEEK_END); length = ftell(in); fseek(in, 0, SEEK_SET); text = (char*)malloc(length+1); fread(text, 1, length, in); text[length] = 0; fclose(in);

printf("Content-type: text/plain\n\n%s", text); free(text); }

<


Содержание  Назад  Вперед