您的位置:首页 > 其它

cgi中的环境变量

2015-12-05 23:46 211 查看
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>");
}


最后结果

COMSPECC:\WINDOWS\system32\cmd.exe
CONTENT_LENGTH44
CONTENT_TYPEmultipart/form-data; boundary=----WebKitFormBoundarytt3Tg7IONIUdZmGU
CONTENT_FILE
PATH_INFO
PATH_TRANSLATED
DOCUMENT_ROOTD:/SoftWare/Apache2.2/htdocs
GATEWAY_INTERFACECGI/1.1
HTTP_ACCEPTtext/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
HTTP_ACCEPT_ENCODINGgzip, deflate
HTTP_ACCEPT_LANGUAGEzh-CN,zh;q=0.8,en;q=0.6
HTTP_CONNECTIONkeep-alive
HTTP_HOST127.0.0.1
HTTP_USER_AGENTMozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36
PATHD:\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_ADDR127.0.0.1
REMOTE_PORT12793
REQUEST_METHODPOST
REQUEST_URI/cgi-bin/upload.cgi
SCRIPT_FILENAMED:/SoftWare/Apache2.2/cgi-bin/upload.cgi
SCRIPT_NAME/cgi-bin/upload.cgi
SERVER_ADDR127.0.0.1
SERVER_ADMINbaidu@qq.com
SERVER_NAME127.0.0.1
SERVER_PORT80
SERVER_PROTOCOLHTTP/1.1
SERVER_SIGNATURE
SERVER_SOFTWAREApache/2.2.25 (Win32)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: