int main(int argc, char *argv[]) { char **pVars; int loopCount = 1000; time_t second; char *data; long m,n; //Modify By LuiShiLi 2011.10.11 /* * Print the CGI response header, required for all HTML output. * Note the extra \n, to send the blank line. */ printf("Content-type: text/html\n\n") ; /* * Print the HTML header to STDOUT. */ printf("<html>\n"); printf("<head><title>CGI Output</title></head>\n"); printf("<body>\n"); printf("<H1>CGI Test Program</H1>\n"); printf("<P>This program displays the CGI Enviroment</P>\n"); printf("Content-type: text/html/n/n") ; printf("< TITLE >乘法结果< /TITLE > "); printf("< H3 >乘法结果< /H3 > "); data = getenv("QUERY_STRING"); if(data == NULL) printf("< P >错误!数据没有被输入或者数据传输有问题"); else if(sscanf(data,"m=%ld&n=%ld",&m,&n)!=2) printf("< P >错误!输入数据非法。表单中输入的必须是数字。"); else printf("< P >%ld和%ld的成绩是:%ld。",m,n,m*n); //Modify By LuiShiLi 2011.10.11 /* * Print the CGI environment variables */ printf("<H2>Environment Variables<A NAME=\"env\"></A></H2>\n"); printf("<P>REQUEST METHOD = %s</P>\n", gogetenv("REQUEST_METHOD")); printf("<P>QUERY STRING = %s</P>\n", gogetenv("QUERY_STRING")); printf("<P>GATEWAY INTERFACE = %s</P>\n", gogetenv("GATEWAY_INTERFACE")); printf("<P>SCRIPT NAME = %s</P>\n", gogetenv("SCRIPT_NAME")); printf("<P>PATH TRANSLATED = %s</P>\n", gogetenv("PATH_TRANSLATED")); printf("<P>PATH INFO = %s</P>\n", gogetenv("PATH_INFO")); printf("<P>HTTP HOST = %s</P>\n", gogetenv("HTTP_HOST")); printf("<P>HTTP ACCEPT = %s</P>\n", gogetenv("HTTP_ACCEPT")); printf("<P>HTTP CONNECTION = %s</P>\n", gogetenv("HTTP_CONNECTION")); printf("<P>REMOTE USER = %s</P>\n", gogetenv("REMOTE_USER")); printf("<P>REMOTE HOST = %s</P>\n", gogetenv("REMOTE_HOST")); printf("<P>REMOTE ADDR = %s</P>\n", gogetenv("REMOTE_ADDR")); printf("<P>SERVER NAME = %s</P>\n", gogetenv("SERVER_NAME")); printf("<P>SERVER PORT = %s</P>\n", gogetenv("SERVER_PORT")); printf("<P>SERVER HOST = %s</P>\n", gogetenv("SERVER_HOST")); printf("<P>SERVER PROTOCOL = %s</P>\n", gogetenv("SERVER_PROTOCOL")); printf("<P>SERVER ADDR = %s</P>\n", gogetenv("SERVER_ADDR")); printf("<P>SERVER URL = %s</P>\n", gogetenv("SERVER_URL")); printf("<P>SERVER SOFTWARE = %s</P>\n", gogetenv("SERVER_SOFTWARE")); /* * Print the parsed query string variables */ printf("<H2>Query String Variables<A NAME=\"query\"></A></H2>\n"); pVars = getCGIvars(); if (pVars) { while (*pVars && *(pVars + 1)) { printf("<p>%s = <b>%s</b></p>\n", *pVars, *(pVars + 1)); pVars += 2; } } else { printf("<P>No query variables found</P>\n"); } /* * Print 1000 lines of text, 100 lines at a time. * Pause for 5 seconds every 100 line chunk */ #ifdef PRINT_BIG_CHUNK_SLOWLY printf("<H2>Large chunk of meaningless text<A NAME=\"chunk\"></A></H2>\n"); while (loopCount) { printf("<p>Meaningless line of text number %d.</p>\n", loopCount); if ((loopCount % 100) == 0) { second = time(NULL); while ((time(NULL) - second) < 5) { } } loopCount--; } #endif printf("</body>\n"); printf("</html>\n"); return 0; }
int _tmain(int argc, _TCHAR* argv[]) { #if CGI char_t buf[256]; int nread = 0; //初始化,必须调用 if(init(argc, argv)<0) { wprintf(L"[-] cgi file open failed\n"); exit(-1); } write_data(L"<html>\n"); write_data(L"<head><title>CGI Output</title></head>\n"); write_data(L"<body>\n"); write_data(L"<H1>CGI Test Program</H1>\n"); write_data(L"<P>This program displays the CGI Enviroment</P>\n"); /* * Print the CGI environment variables */ write_data(L"<H2>Environment Variables<A NAME=\"env\"></A></H2>\n"); write_data(L"<P>REQUEST METHOD = %s</P>\n", gogetenv(L"REQUEST_METHOD",buf)); write_data(L"<P>QUERY STRING = %s</P>\n", gogetenv(L"QUERY_STRING",buf)); write_data(L"<P>PATH TRANSLATED = %s</P>\n", gogetenv(L"PATH_TRANSLATED",buf)); write_data(L"<P>GATEWAY INTERFACE = %s</P>\n", gogetenv(L"GATEWAY_INTERFACE",buf)); write_data(L"<P>SCRIPT NAME = %s</P>\n", gogetenv(L"SCRIPT_NAME",buf)); write_data(L"<P>PATH INFO = %s</P>\n", gogetenv(L"PATH_INFO",buf)); write_data(L"<P>HTTP HOST = %s</P>\n", gogetenv(L"HTTP_HOST",buf)); write_data(L"<P>HTTP ACCEPT = %s</P>\n", gogetenv(L"HTTP_ACCEPT",buf)); write_data(L"<P>HTTP CONNECTION = %s</P>\n", gogetenv(L"HTTP_CONNECTION",buf)); write_data(L"<P>REMOTE USER = %s</P>\n", gogetenv(L"REMOTE_USER",buf)); write_data(L"<P>REMOTE HOST = %s</P>\n", gogetenv(L"REMOTE_HOST",buf)); write_data(L"<P>REMOTE ADDR = %s</P>\n", gogetenv(L"REMOTE_ADDR",buf)); write_data(L"<P>SERVER NAME = %s</P>\n", gogetenv(L"SERVER_NAME",buf)); write_data(L"<P>SERVER PORT = %s</P>\n", gogetenv(L"SERVER_PORT",buf)); write_data(L"<P>SERVER HOST = %s</P>\n", gogetenv(L"SERVER_HOST",buf)); write_data(L"<P>SERVER PROTOCOL = %s</P>\n", gogetenv(L"SERVER_PROTOCOL",buf)); write_data(L"<P>SERVER ADDR = %s</P>\n", gogetenv(L"SERVER_ADDR",buf)); write_data(L"<P>SERVER URL = %s</P>\n", gogetenv(L"SERVER_URL",buf)); write_data(L"<P>SERVER SOFTWARE = %s</P>\n", gogetenv(L"SERVER_SOFTWARE",buf)); write_data(L"<P>CGI_Data = %s</P>\n", getCgiData(buf,sizeof(buf),&nread)); write_data(L"<P>CGI_Size = %d</P>\n", nread); write_data(L"<P>out = %s</P>\n", argv[argc-1]); write_data(L"<P>in = %s</P>\n", argv[argc-2]); write_data(L"<P>env = %s</P>\n", argv[argc-3]); #endif #if 0 int nWidth,nHeight; HBITMAP MyhBitmap; MyhBitmap = CopyScreenToBitmap(&nWidth, &nHeight ); wprintf(L"width=%d\t,height=%d\n",nWidth, nHeight); //Save16BitmapToFile( MyhBitmap, L"\\NandFlash\\go.bmp"); Save16BitmapToFile( MyhBitmap, L"go.bmp"); wprintf(L"xxxxxxxxxxx"); #endif #if CGI //销毁资源 destroy(); #endif return 0; }