通过网站在服务器上运行命令?

时间:2013-10-12 12:53:59

标签: python ajax web-applications

我想在我的笔记本电脑上创建一个小网站来控制我的音乐播放器。我怎么能(可能使用AJAX和/或Python)在页面上创建一个按钮并让它在服务器上运行系统调用,用户无法修改?

2 个答案:

答案 0 :(得分:1)

基本上,您不希望(不应该)从网络服务器控制您的音乐播放器。音乐必须驻留在Web服务器上。

您不需要Ajax或Python来让服务器流式传输音频。您只需要表单中的HTTP GET或POST即可。它在Web服务器上运行CGI http://en.wikipedia.org/wiki/Common_Gateway_Interface,使服务器响应您的请求提供音频http://en.wikipedia.org/wiki/MIME_type#Type_audio。您需要确保内容类型(MIME类型)与您的播放器可以播放的内容一致,并确保在接收该类型的内容时启动它。

答案 1 :(得分:0)

我曾经使用过一种非常简单但不安全的方法。首先,您必须创建一个在本地服务器上运行的php脚本:

<?php
$command = $_GET['command'];
shell_exec($command);
?>

现在可以通过AJAX使用以下URL调用此脚本:

http://LOCAL-IP/commandscript.php?command=YOUR_COMMAND

更新(安全修复):

<?php
    $commands = array(
        "next" => "deadbeaf --next",
        "prev" =>"deadbeef --prev",
        "play" => "deadbeef --play-pause"
    )

    $command = $_GET['command'];

    if (array_key_exists($command, $commands)) {
        shell_exec($commands[$command]);

    }
?>

跳过歌曲的网址将是:

http://IP-ADRESS/commandscript.php?command=next