Итак напишем простенькую программу для CGI - которая сможет выводить нам глобальные переменные.
Создаем простой проект Win32 Console Application:
CODE ( php):
скопировать код в буфер обмена
<?php #include <windows.h> #include <iostream> using namespace std; int main() { char szName[1024]; cout<<"Content-Type: text/html\n\n"; cout<<"<HTML><HEAD><TITLE>С++ CGI</TITLE></HEAD>\n"; cout<<"<body bgcolor='black' text='#F2F2F2' link='#FF9900' vlink='#FF9900' alink='#FF9900'>\n"; cout<<"<meta http-equiv='content-type' content='text/html; charset=windows-1251'>\n"; cout<<"<p style='line-height:100%; margin-left:10%;' align='center'><span style='font-size:14pt;'>Cgi-скрипт на С++.</span></p>\n"; char comment[256]; if(GetEnvironmentVariable("QUERY_STRING",comment,256)) {cout<<"<p style='line-height:100%; margin-left:10%;'>Вы ввели: "<<comment<<"</p>\n";} cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#FF9933'>Данные о клиенте:</font></p>\n"; if(GetEnvironmentVariable("HTTP_USER_AGENT",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_USER_AGENT: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("HTTP_ACCEPT",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_ACCEPT: </font>"<<szName<<"</p>\n";} cout<<"</BODY></HTML>\n"; return 0; }
После чего компилируем его Ctrl+F5 и получившийся exe файл переименовываем в cgi, например вышел у нас после компиляции web.exe - переименуем его в web.cgi и поместим в директорию на сервере от куда возможен запуск CGI скриптов - после чего запустим и увидим работу скрипта.
Цитата:Получает переменную окружения по имени:
DWORD GetEnvironmentVariable
(
LPCTSTR lpName, // имя переменной
LPTSTR lpBuffer, // буфер для полученных результатов
DWORD nSize // размер буфера
); Отредактировано модератором: Champion, 09 Июля, 2011 - 20:01:09 Надо подсветку с++ прикрутить. Я в начало скрипта <?php поставил просто чтобы подсветка четче показывала где что находится
|