将数据从本地网页发送到本地运行的C程序

时间:2012-09-24 18:06:51

标签: c windows web cross-platform ipc

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

我知道浏览器很难解决安全问题,而且我不想打开我的机器来攻击,但也许我可以在C应用程序中运行一个非常简单的服务器来接收提交的数据。 ..无论哪种方式,我都无法运行任何标准的网络服务器,所以我需要有一个C库/应用程序为我做。

我查看了.hta文件(似乎只适用于Windows)和一些C Web服务器(我发现所有文件都是* nix特定的)。类似的问题是如何transfer of data from webpage to a server c program,除了用户允许使用Java和其他Web服务器平台(我必须使用C)。

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

4 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

您可以在C中编写非常简单的 Web服务器,从中提供页面(避免安全问题),并将表单发布到该服务器上。

答案 2 :(得分:0)

如果你被绑定到c,你将不得不进入低级别并处理套接字库周围的所有漂亮细节。 (这是人们在高级语言中抽象的原因)。查看服务器和客户端here中的RPC in C的一些示例代码。如果你有能力绑定到C,例如使用Tcl,我将在tcl脚本中实现服务器并将您的C函数绑定为Tcl命令。这样就可以将内容直接传递给c方法,同时避免将所有套接字代码写入低级别。

答案 3 :(得分:0)

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

nc -l X | ./APP

当然,你需要nc包。