ASP与CGI之间的参数传递

kunyi 2003-03-06 02:11:10
我想用VC写了一个CGI,用来接受另一ASP页面用POST方式传来的参数值。用VC有简单点的方法实现吗?
...全文
59 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
swotcoder 2003-03-07
  • 打赏
  • 举报
回复
Post过来的自动作为环境变量处理getenv抓就可以。
叶子哟 2003-03-07
  • 打赏
  • 举报
回复
两种递交get和post方式的处理不同:
给你一个经典代码:得自己编中文的解码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char InputBuffer[4096];
int main(int argc, char *argv[]) {
int ContentLength; /*数据长度*/
int x;
int i;
char *p;
char *pRequestMethod; /* METHOD属性值 */
setvbuf(stdin,NULL,_IONBF,0); /*关闭stdin的缓冲*/
printf("Content-type: text/html\n"); /*从stdout中输出,告诉Web服务器返回的信息类型*/
printf("\n"); /*插入一个空行,结束头部信息*/
/* 从环境变量REQUEST_METHOD中得到METHOD属性值 */
pRequestMethod = getenv("REQUEST_METHOD");
if (pRequestMethod==NULL) {
return 0;
}
if (_stricmp(pRequestMethod,"POST")==0) {
p = getenv("CONTENT_LENGTH"); /*从环境变量CONTENT_LENGTH中得到数据长度*/
if (p!=NULL) {
ContentLength = atoi(p);
} else {
ContentLength = 0;
}
if (ContentLength>sizeof(InputBuffer)-1) {
ContentLength = sizeof(InputBuffer)-1;
}
i = 0;
while (i<ContentLength) { /*从stdin中得到Form数据*/
x = fgetc(stdin);
if (x==EOF) break;
InputBuffer[i++] = x;
}
InputBuffer[i] = '\0';
ContentLength = i;
DecodeAndProcessData(); /*具体译码和处理数据,该函数代码略*/
} else
if (_stricmp(pRequestMethod,"GET")==0) {
p = getenv("QUERY_STRING"); /*从环境变量QUERY_STRING中得到Form数据*/
if (p!=NULL) {
strncpy(InputBuffer,p,sizeof(InputBuffer));
DecodeAndProcessData(); /*具体译码和处理数据,该函数代码略*/
}
}
printf("<HEAD><TITLE>Submitted OK</TITLE></HEAD>\n"); /*从stdout中输出返回信息*/
printf("<BODY>The information you supplied has been accepted.</BODY>\n");
return 0;
}

ceocio 2003-03-06
  • 打赏
  • 举报
回复
用参数直接传送给.cgi页面,cgi和asp都能通过诸如?aaa=aaa&bbb=bbb来传递参数。
oulix 2003-03-06
  • 打赏
  • 举报
回复
c/c++语言里可以通过环境变量可以接受来自客户端的数据,跟是否来自asp页面没关系。
找找msdn里的例子。

2,203

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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