【发布时间】:2018-11-15 13:52:01
【问题描述】:
我正在尝试用 C 语言编写登录脚本。我想知道如何将 HTML 表单数据传递给我的后端 c 脚本。我是 C 新手(来自 perl)
就这样做?
<form action="test.c"> or <form action="test.a">
脚本如何明确区分用户名和密码?早些时候,我只需要这样做(在 perl 中):
$username = $cgi->param("username");
我现在如何在 C 中做到这一点。我试图完全避免使用 CGI。
编辑1:
看来我还需要知道,CGI 的基本工作原理(简而言之)。我猜,浏览器是 CGI 的一种编译器?如果不是,那么它是apache吗?
-
由于 C 不是解释型语言,CGI 如何与 C 一起工作?在 perl 中,我可以简单地这样做:
#!/usr/bin/perl print "Content-type: text/html\n\n"; print "Hello, World.";
如何在 C 中做到这一点?
Edit2:好的,我在 stackoverflow 上的 cgi 标签下回答了之前回答的问题。
这似乎是投票最多的一个:What is Common Gateway Interface (CGI)?
但它仍然不清楚我在这里问的一些事情。
由于 RFC3875 只是一个参考文档,并且没有最终标准。
谁实现了 CGI 协议?谁在 Apache 等服务器上定义其“标准行为”。
C 文件如何在现代环境中与 CGI 一起工作。请使用“Hello World!”进行详细说明。作为对表单提交的响应。
【问题讨论】:
-
如果您不使用 CGI,您的代码是如何运行的?
-
@SLaks 我很欣赏这个讽刺,但你能详细说明一下吗?另外,我更新了问题。
-
CGI 表示 Web 服务器启动您的代码(无论是解释的还是编译的),通过标准输入传递请求,并期望通过标准输出得到响应。
-
@SLaks 谁和什么描述了它的“定义行为”?既然我用的是apache,那么是apache的CGI协议实现吗..是我用的吗?