cgi中的环境变量

cgi中参数都是通过环境变量传递的,那么有哪些环境变量呢?直接上代码吧。

#include <stdio.h>
#include <stdlib.h>
int main()
{
	char *env_var[] = {
		"COMSPEC", 
		"CONTENT_LENGTH",
		"CONTENT_TYPE",
		"CONTENT_FILE",
		"PATH_INFO",
		"PATH_TRANSLATED",
		"DOCUMENT_ROOT",
		"GATEWAY_INTERFACE",
		"HTTP_ACCEPT",
		"HTTP_ACCEPT_ENCODING",
		"HTTP_ACCEPT_LANGUAGE",
		"HTTP_CONNECTION",
		"HTTP_HOST",
		"HTTP_USER_AGENT",
		"PATH",
		"QUERY_STRING", 
		"REMOTE_ADDR",
		"REMOTE_PORT",
		"REQUEST_METHOD",
		"REQUEST_URI",
		"SCRIPT_FILENAME",
		"SCRIPT_NAME",
		"SERVER_ADDR",
		"SERVER_ADMIN",
		"SERVER_NAME",
		"SERVER_PORT",
		"SERVER_PROTOCOL",
		"SERVER_SIGNATURE",
		"SERVER_SOFTWARE",
	};

	printf("Content-Type: text/html\n\n");
	printf("<html>");
	printf("<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>");
	printf("<body>");
	printf("<table>");
	for (int i = 0; i < sizeof env_var / sizeof env_var[0]; ++i)
	{
		printf("<tr>");
		printf("<td>%s</td>", env_var[i]);
		char *data = getenv(env_var[i]);
		if (NULL == data) data = "";
		printf("<td>%s</td>", data);
		printf("</tr>");
	}
	printf("</table");
	printf("</body>");
	printf("</html>");
}


最后结果

COMSPEC C:\WINDOWS\system32\cmd.exe
CONTENT_LENGTH 44
CONTENT_TYPE multipart/form-data; boundary=----WebKitFormBoundarytt3Tg7IONIUdZmGU
CONTENT_FILE  
PATH_INFO  
PATH_TRANSLATED  
DOCUMENT_ROOT D:/SoftWare/Apache2.2/htdocs
GATEWAY_INTERFACE CGI/1.1
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
HTTP_ACCEPT_ENCODING gzip, deflate
HTTP_ACCEPT_LANGUAGE zh-CN,zh;q=0.8,en;q=0.6
HTTP_CONNECTION keep-alive
HTTP_HOST 127.0.0.1
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
PATH D:\SoftWare\Python34\;D:\SoftWare\Python34\Scripts;D:\SoftWare\Python34;D:\SoftWare\Python34\Scripts;D:\SoftWare\Vim\vim74;D:\SoftWare\Cygwin\CygwinPortable\App\Cygwin\bin;D:\SoftWare\Dev-Cpp\MinGW64\bin;D:\SoftWare\Java\jdk\bin;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;
QUERY_STRING  
REMOTE_ADDR 127.0.0.1
REMOTE_PORT 12793
REQUEST_METHOD POST
REQUEST_URI /cgi-bin/upload.cgi
SCRIPT_FILENAME D:/SoftWare/Apache2.2/cgi-bin/upload.cgi
SCRIPT_NAME /cgi-bin/upload.cgi
SERVER_ADDR 127.0.0.1
SERVER_ADMIN [email protected]
SERVER_NAME 127.0.0.1
SERVER_PORT 80
SERVER_PROTOCOL HTTP/1.1
SERVER_SIGNATURE  
SERVER_SOFTWARE Apache/2.2.25 (Win32)

   

你可能感兴趣的:(C++,cgi)