[Shell Script]在shell脚本中获取http请求POST

时间:2014-11-21 09:51:57

标签: bash shell post request

是否可以从客户端(通过ajax)获取POST数据并在shell脚本中处理它?<​​/ p>

我使用jQuery将数据作为

发送到我的服务器端
$.ajax({
    url: "test.cgi",
    type: "post",
    data:{
        test: "123"
    },
    dataType: "json"
});

我希望我可以在我的shell脚本中处理数据(如样本中的&#39; 123&#39;)。

如果我使用GET,我可以使用$QUERY_STRING在我的服务器端获取数据,

但我担心发送给服务器的数据太多,所以我改用POST

我的服务器是Linux,我的shell脚本是Bourne Shell(以#!/bin/sh开头)。

或者还有其他方法来处理这种情况吗?

先谢谢!。

编辑:

我有一个名为test.html的网页,还有输入框,用户写&#39; 123&#39;在输入框中,然后点击按钮(不是键入=&#39;提交&#39;,只需键入=&#39;按钮&#39;,因为我想使用ajax,而不是使用表单并让网页加载到服务器在网页上),该按钮将在POST中运行ajax到服务器端cgi --- test.cgi

在test.cgi中,我想获取客户端POST的数据并对其进行处理(将数据保存到文件中。

1 个答案:

答案 0 :(得分:0)

您用来发送POST的内容完全无关紧要。如果您的shell脚本作为常规CGI脚本调用,则POST数据将在标准输入上提供。

#!/bin/sh
cat >file

也许您想要添加application/x-www-form-urlencoded容器的展开,但实质上,以上就是您所要求的所有内容。

这是强制性的谨慎 - 你可能实际想要使用shell脚本。请研究更安全,更强大,更专业的替代方案。