关于msvc++和cgi的混合编程

wlrwx 2000-02-15 09:26:00
请问各位高手:如何在msvc++6 中和cgi混合编程???
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sintony 2000-02-15
  • 打赏
  • 举报
回复
在“C/C++”的“请问Unix下编写的CGI(C language)的具体方法,有例子最佳!!!”
有我另一个C的CGI例子。
sintony 2000-02-15
  • 打赏
  • 举报
回复
我挺喜欢用Vc编CGI,
其实CGI就是从标准输入读入,以HTML形式输出到标准输出
//我的几个例子
//处理输入(部分)如果懂CGI一定知道

#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>

struct Environment{
char *Auth_Password;
char *Auth_Type;
char *Auth_User;
char *Content_Length;
char *Content_Type;
char *Gateway_Interface;
char *HTTP_Accept;
char *HTTP_From;
char *HTTP_Referer;
char *HTTP_User_Agent;
char *Path_Info;
char *Path_Translated;
char *Query_String;
char *Remote_Addr;
char *Remote_Host;
char *Remote_Ident;
char *Remote_User;
char *Remote_Method;
char *Server_Name;
char *Server_Port;
char *Server_Protocol;
char *Server_Software;
char *Script_Name;
char *Server_Admin;
};

void main(void)
{
struct Environment EV;

EV.HTTP_Accept = getenv("HTTP_ACCEPT");
EV.Auth_Password = getenv("AUTH_PASSWORD");
EV.Auth_Type = getenv("AUTH_TYPE");
EV.Auth_User = getenv("AUTH_USER");
EV.Content_Length = getenv("CONTENT_LENGTH");
EV.Content_Type = getenv("CONTENT_TYPE");
EV.HTTP_From = getenv("HTTP_FROM");
EV.Gateway_Interface = getenv("GATEWAY_INTERFACE");
EV.Path_Info = getenv("PATH_INFO");
EV.Path_Translated = getenv("PATH_TRANSLATED");
EV.Query_String = getenv("QUERY_STRING");

printf("Content-Type: text/html\n\n");
printf("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n");
printf("<HTML>\n");
printf("<HEAD><TITLE>显示环境变量值</TITLE></HEAD>\n");
printf("<BODY>");
printf("<H1>环境变量值:</H1>\n");
printf("<HR>\n");
printf("<B>\"Null\"values are empty</B>\n");
printf("<UL>\n");
printf("<LI>HTTP_ACCEPT is %s\n",EV.HTTP_Accept);
printf("<LI>AUTH_PASSWORD is %s\n",EV.Auth_Password);
printf("<LI>AUTH_TYPE is %s\n",EV.Auth_Type);
printf("<LI>AUTH_USER is %s\n",EV.Auth_User);
printf("<P><B>Content Type and Content Length are used with the HTTP POST method</B>\n");
printf("<LI>CONTENT_TYPE is %s\n",EV.Content_Type);
printf("<LI>CONTENT_LENGTH is %s\n",EV.Content_Length);
printf("<LI>HTTP_FROM is %s\n",EV.HTTP_From);
printf("<LI>GATEWAY_INTERFACE is %s\n",EV.Gateway_Interface);
printf("<LI>PATH_INFO is %s\n",EV.Path_Info);
printf("<LI>PATH_TRANSLATED is %s\n",EV.Path_Translated);
printf("<LI>QUERY_STRING is %s\n",EV.Query_String);
return ;
}
DOU 2000-02-15
  • 打赏
  • 举报
回复
cgi可以用很多语言编写,当然用c或c++编的cgi程序可以在vc6中编译,不存在混合编程。
如果编写IIS下运行的cgi程序,建议该成编写ISAPI Extension 和ISAPI Filter,vc6中有Wizard和例子。
ISAPI是以线程运行的,cgi则是一单独的进程运行,ISAPI比cgi在性能上有极大提高

16,470

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧