【问题标题】:HTTP Post to bin/bash script [duplicate]HTTP Post 到 bin/bash 脚本 [重复]
【发布时间】:2017-04-28 15:45:09
【问题描述】:

这是我的代码:

#!/bin/bash
read POST_STRING;

我想做什么?

我想向myscript.sh 发送一个 HTTP POST 并接收那里读取的 POST 数据,它会为测试创建一些 echo 并触发接收 POST 请求的脚本。

我不太确定这是否可能。我正在使用 ubuntu,我安装了 php5apache2。我进行了一些搜索并决定安装php5-cgi 模块,但我不太确定我是否需要它。

你能指点我正确的方向吗,有可能吗?

【问题讨论】:

  • php5-cgi 仅对 PHP 脚本有帮助。

标签: bash


【解决方案1】:

是的,你需要mod_cgi enabled in apache

然后你可以在你的 web 服务器的根目录中创建一个 cgi-bin 目录,使用如下脚本:

#!/bin/bash

echo "Content-type: text/html"
echo

if [ -z "$QUERY_STRING" ]
    then
    echo "POST METHOD <br>"
    read QUERY_STRING
else 
    echo "GET METHOD <br>"
fi
echo $QUERY_STRING

并通过 GET 或 POST 方法发送一些表单数据进行测试。

【讨论】:

  • 你的方法看起来很有趣。我会试一试。谢谢。
  • 我认为您打错了 if [ -z "$QUERY_STRING" ] - 在处理不受信任的输入时,请非常小心引用变量!
  • 是的,你是对的。这仅用于演示。将编辑
  • 这很奇怪。当我尝试通过 POSTMAN 向该脚本发出 POST 请求时,我得到脚本内的所有内容作为响应。当我尝试通过浏览器打开脚本的直接链接时也会发生同样的情况。除了 'chmod +x' 文件是否需要任何特殊权限?
  • cgi-bin 目录和你的文件必须有 +x 但不是每个身体都有 w
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-24
  • 2013-01-24
相关资源
最近更新 更多