/* created by Samson Chan for CGI demonstraton in C 25-Jan-1999 compile it by cc cgi-c.c cgi-util.c -o cgi-c */ #include #include #include "cgi-util.h" char *szEnv[] = { "SERVER_SOFTWARE", "SERVER_NAME", "GATEWAY_INTERFACE", "SERVER_PROTOCOL", "SERVER_PORT", "REQUEST_METHOD", "HTTP_ACCEPT", "PATH_INFO", "PATH_TRANSLATED", "SCRIPT_NAME", "QUERY_STRING", "REMOTE_HOST", "REMOTE_ADDR", "REMOTE_USER", "CONTENT_TYPE", "CONTENT_LENGTH", "HTTP_REFERER", "HTTP_USER_AGENT", "HTTP_COOKIES" }; int main(int argc, char *agrv[]) { int i; char *szStr; char *szPath = "/~csci351/Special/CGIinC/"; char *szSrc = "cgi-c.c"; char *szLib1 = "cgi-util.c"; char *szLib2 = "cgi-util.h"; printf("Content-type: text/html\n\n"); printf("\n"); printf("Demonstration of CGI using C\n"); printf(""); printf("

Environment Variables

\n"); for (i=0; i<19; i++) { szStr = getenv(szEnv[i]); printf("%s = %s
\n", szEnv[i], (szStr? szStr : "")); } /* init cgi */ cgiinit(); printf("
"); printf("

Query Parameters

"); for (i=0; i\n", entries[i].name, entries[i].val); } printf("
"); printf("This CGI is composed of %s, ", szPath, szSrc, szSrc); printf("%s and ", szPath, szLib1, szLib1); printf("%s
\n", szPath, szLib2, szLib2); printf("\n"); printf("\n"); return(0); }