Forum Webscript.Ru
Общие => Веб-технологии => Тема начата: sergey24 от 14 Декабря 2004, 23:24:54
-
Всем привет
Вот решил разобраться с cgi
попробовал пару примеров на си и врозникла одна проблемка
не определяются броузер, рефер и все остальное кроме QUERY_STRING
апач подвинду и через visual c++ компилю
подскажите в чем прикол?
#include
#include
#include
#include
void main (void){
char *RemoteAddr = getenv ("REMOTE_ADDR");
char *QueryString = getenv ("QUERY_STRING");
char *p;
int *v;
printf ("Content-type: text/html\\n");
printf ("Pragma: no-cache\\n");
printf ("\\n");
printf ("");
printf ("IP: ",RemoteAddr);
printf ("param : %s", QueryString);
p= strtok (QueryString,"&");
printf ("\\n");
printf (p);
do {
p= strtok (NULL, "&");
if (p) {
printf ("|%s", p);
}
} while (p);
printf ("\\n Параметры юзера: \\n");
printf ("\\n refer: " , getenv ("HTTP_REFERER"));
printf ("\\n lang: " , getenv ("HTTP_ACCEPT_LANGUAGE"));
printf ("\\n brouser: " , getenv ("HTTP_USER_AGENT"));
printf ("\\n os: " , getenv ("HTTP_USER_AGENT"));
printf ("\\n");
}
-
у тебя почти везде пропущен формат данных в printf()
вот код, который выведет тебе все переменные окружения:
#include
using namespace std;
int main(int argc, char **argv, char **env)
{
cout << "content-type: text/plain" << endl << endl;
for (int c=0; env[c]; ++c)
{ cout << env[c] << endl;
}
return 0;
}