![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
Встраивают интерпретаторы подробнее можно ?
А лучще покажите на премере ? --------------------
Денис |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
||||
|
||||
denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
Нашол вроде скрипт на C++ / Сетевые технологии / Сеть
Cgi скрипт на C++. Сейчас научимся создавать cgi скрипты на С++. Для этого нам понадобится Web сервер, желательно Apache ну и конечно VC++. Для начала создадим домен, в котором будем тестировать скрипт, лезь в директорию где установлен Apache, у меня это C:\WebServers, дальше в папке home создай папку с названием test.com. В test.com сделай еще две папки, www и cgi, не забудь создать текстовый файл error.log. В папку www помести файл index.html, примерно такого содержания: <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1251"> <title>script</title> </head> <body bgcolor="black" text="#FF9933" link="blue" vlink="purple" alink="red"> <form action="http://www.test.com/cgi/CGIScriptElf.cgi" method=GET>Enter: <input type=text maxlength=256 name=comment> <input type=submit value=Go> </form> </body> </html> Создавай новый проект Win32 Console Application и пиши следущее: #include <windows.h> #include <iostream> using namespace std; int main() { char szName[1024]; cout<<"Content-Type: text/html\n\n"; cout<<"<HTML><HEAD><TITLE>Lazy_elf</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"; cout<<"<p style='line-height:100%; margin-left:10%;'><a href=http://www.pagel.by.ru>www.pagel.by.ru</a> Code by Lazy_elf</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";} if(GetEnvironmentVariable("HTTP_REFERER",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_REFERER: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("HTTP_ACCEPT_ENCODING",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_ACCEPT_ENCODING: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("HTTP_ACCEPT_LANGUAGE",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_ACCEPT_LANGUAGE: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("HTTP_IF_MODIFIED_SINCE",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_IF_MODIFIED_SINCE: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("HTTP_FROM",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>HTTP_FROM: </font>"<<szName<<"</p>\n";} //////////////////////////////////////////////////////////////////////////////////////////////////////// szName[0] = '\0'; cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#FF9933'>Данные о сервере:</font></p>\n"; if(GetEnvironmentVariable("GATEWAY_INTERFACE",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>GATEWAY_INTERFACE: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("SERVER_NAME",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>SERVER_NAME: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("SERVER_PORT",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>SERVER_PORT: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("SERVER_PROTOCOL",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>SERVER_PROTOCOL: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("SERVER_SOFTWARE",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>SERVER_SOFTWARE: </font>"<<szName<<"</p>\n";} //////////////////////////////////////////////////////////////////////////////////////////////////////// szName[0] = '\0'; cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#FF9933'>Данные о запросе:</font></p>\n"; if(GetEnvironmentVariable("AUTH_TYPE",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>AUTH_TYPE: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("CONTENT_FILE",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>CONTENT_FILE: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("CONTENT_LENGTH",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>CONTENT_LENGTH: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("CONTENT_TYPE",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>CONTENT_TYPE: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("PATH_INFO",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>PATH_INFO: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("PATH_TRANSLATED",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>PATH_TRANSLATED: </font>"<<szName<<"</p>\n";} //хм... if(GetEnvironmentVariable("REMOTE_ADDR",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>REMOTE_ADDR: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("REMOTE_HOST",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>REMOTE_HOST: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("REQUEST_METHOD",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>REQUEST_METHOD: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("REQUEST_LINE",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>REQUEST_LINE: </font>"<<szName<<"</p>\n";} if(GetEnvironmentVariable("SCRIPT_NAME",szName,1024)) {cout<<"<p style='line-height:100%; margin-left:10%;' align='left'><font color='#00C800'>SCRIPT_NAME: </font>"<<szName<<"</p>\n";} cout<<"</BODY></HTML>\n"; return 0; } Компилируй, у получившейся программы измени расширение на cgi или просто в настройках линкера (Project->Settings->Link) измени Output file name и помести готовый скрипт в папку cgi. Запускай Apache, потом какой-нибудь браузер, в строке адрес напиши http://www.test.com, должно появится следующее: Введи в поле и нажми кнопку Go, появится новая страница созданная скриптом, на которой сможешь увидеть значения основных переменных. Для получения значения нам необходима API функция GetEnvironmentVariable. DWORD GetEnvironmentVariable( LPCTSTR lpName, - имя переменной; LPTSTR lpBuffer, - указатель на буфер, куда будет записано значение; DWORD nSize - размер буфера. ); На этом все, удачного веб-программирования. Добавлено через 47 секунд char szName[1024]; ??? --------------------
Денис |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Если бы ты не занимался глупостями, то тоже самое смог бы сделать на PHP или perl. Причем выглядело бы это значительно приличней.
А ты даже код по правилам форума оформить не можешь. Зачем тебе вообще программировать? |
|||
|
||||
denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
Я же учусь а зачем вам тоже не нужно пусть иностранци делают напремер Японци а на кой Рассии програмисты нам только водка и тёлка всё так чтоли ?
--------------------
Денис |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Обучение предусматривает какой никакой прогресс, у вас его что-то не видно ![]() Это сообщение отредактировал(а) xvr - 8.9.2012, 18:24 |
||||
|
|||||
k0rvin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 442 Регистрация: 24.1.2010 Репутация: 1 Всего: 5 |
Уж не попов ли? =) -------------------- “Object-oriented design is the roman numerals of computing.” — Rob Pike All software sucks |
||||
|
|||||
denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
Не одного путного савета
--------------------
Денис |
|||
|
||||
maint |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 77 Регистрация: 12.5.2008 Репутация: нет Всего: 2 |
русский язык не пробовали учить? cgihtml ключевое слово, можно найти библиотеку на C |
|||
|
||||
VSB |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 23.8.2007 Репутация: 1 Всего: 2 |
2012-2015
Некропостеры) |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
denes |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 134 Регистрация: 7.4.2010 Репутация: -3 Всего: -7 |
А при чом тут cgihtml ?
HTML это другое --------------------
Денис |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |