0

我正在寻找最简单的(跨平台,但不一定是跨浏览器)代码,以数据从本地网页发送到本地运行的 C(不是C++)应用程序。基本上,我有一个带有表单的 HTML 页面,我想以最简单的方式将数据从该表单发送到另一个进程。(我知道我可以相对轻松地从网页读取本地数据,尤其是现在使用 HTML5,但在 javascript 沙箱之外编写是一个谜。)

我知道出于安全考虑,浏览器很难做到这一点,我不想让我的机器受到攻击,但也许我可以在 C 应用程序中运行一个非常简单的服务器来接收提交的数据......要么方式,我不能运行任何标准的网络服务器,所以我需要一个 C 库/应用程序来为我做这件事。

我查看了 .hta 文件(似乎只适用于 Windows)和一些 C Web 服务器(我发现的都是 *nix 特定的)。一个类似的问题是如何将数据从网页传输到服务器 c 程序,除了用户允许使用 Java 和其他网络服务器平台(我必须使用 C)。

更新:有前途的图书馆:https ://stackoverflow.com/questions/175507/cc-web-server-library

4

4 回答 4

2

你考虑过 FastCGI 吗?我有一个用 C 语言编写的快速 CGI 库,可能会有所帮助。它仍然需要大量工作,我不确定我是否想在生产环境中使用。

如果您发现任何错误或进行任何改进,请分享它们,以便它可以帮助其他人。

https://github.com/manvscode/shrewd-cgi

于 2012-09-24T19:54:53.430 回答
0

如果你必须使用 c,你将不得不去底层处理所有关于套接字库的漂亮细节。(人们用高级语言抽象它是有原因的)。在此处查看带有服务器和客户端的 C 中 RPC 的一些示例代码。如果你能负担得起绑定到 C,例如使用 Tcl,我会在 tcl 脚本中实现服务器并将你的 C 函数绑定为 Tcl 命令。这样,您可以将内容直接传递给您的 c 方法,同时避免编写所有低级套接字代码。

于 2012-09-24T19:22:04.083 回答
0

将所需数据从 Web 发送到系统的特定端口(例如端口 X)。然后使用以下命令在后台运行您的应用程序(例如 APP):

nc -l X | ./APP

当然你需要nc包。

于 2012-09-24T20:05:44.560 回答
0

您可以用 C 编写一个非常简单的Web 服务器,从中提供页面(避免安全问题),然后将表单发布到它。

于 2012-09-24T18:41:19.363 回答