我想知道需要什么才能使用 HTTP post 请求触发 shell 脚本。我在家里的 wifi 上想调用http://ip.of.host/req?run并在我的主机上触发一个脚本。我想我必须在主机上运行一个网络服务器。但除此之外还需要什么?这里是问这种问题的合适地方吗?谢谢!
答案1
这是一个非常广泛的问题。我会在服务器上安装 Apache 和 PHP,然后您可以使用一个非常简单的 PHP 脚本来运行该脚本。不需要其他任何操作。
在您的 Web 根目录中,放置一个脚本和一个 php 文件:
脚本:
#!/bin/bash
echo "Hello World"
运行脚本.php:
<?php
$output = shell_exec('./script.sh');
echo $output;
?>
使用 运行它localhost/run_script.php
。
然后,您可以运行任何您想要的脚本(您不应该将其放在您的 Web 根目录中!)
如果你只想在 HTTP Post 请求上运行此脚本,则将脚本包装在
if ($_SERVER['REQUEST_METHOD'] === 'POST') { ... }
您可以使用以下方法检查 Post 参数
if ($_POST['parameter']) { ... }
笔记:这方面有很多注意事项,但最好将它们作为单独的问题来处理。无论如何,这应该会让你开始行动。