apache调用c程序作为CGI时是如何将数据送入stdin的?使用操作系统API来实现吗?

哦,错了,肯定是使用操作系统API来实现的。是怎么实现的呢?... 哦,错了,肯定是使用操作系统API来实现的。是怎么实现的呢? 展开
 我来答
百度网友c9e795dda
2013-08-30 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1138万
展开全部
入口其实就在 main 的 () 内

#include <stdio.h>
int main(int argc, char **argv) {
for (int i = 0; i < argc; ++i) {
printf("argv[%d]: %s\n", i, argv[i]);
}
}
更多追问追答
追问
谢谢您的回答!写CGI程序的时候首先从stdin里面读入Post过来的数据,我想知道的是,apache是如何向我的cgi程序的stdin里面送入这些数据的?
追答
apache 先开一条线程, 以 *URI Escaped 的 字串 形式将 post 的内文以 参数 形式将数据丢给你 CGI 程序, CGI 程序回应後就会由 apache 作封装 ( 以 http 格式 ) 回应到对方的浏览器

*uri escaped 只是针对一般的文字表单, 但如上传档案等, 则会以 char stream 以 binary mode 传入
你可以再参巧一下 html 里的 form enctype 和 uri escape.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式