【问题标题】:Running Python Code from PHP从 PHP 运行 Python 代码
【发布时间】:2014-09-05 16:16:58
【问题描述】:

我有一个使用

的 Python 文件
raw_input()

输入网址。然后,我使用 BeautifulSoup 抓取网站,并根据网站上的数据(我刚刚抓取的数据)向用户询问其他一些问题。

我希望将此命令行工具转换为网络应用程序。

我该怎么做呢?

shell_exec()

不会做我想做的事,因为(据我所知)无法通过 PHP 从 raw_input() 输入数据..

【问题讨论】:

  • 为什么要使用php? -- 有许多原生 Python Web 框架可供选择。 CherryPy 似乎适合您的应用程序。

标签: php python beautifulsoup


【解决方案1】:

您正在寻找 readline 或 stdin 流:

php://stdin

$fp = fopen("php://stdin","r");
$line = rtrim(fgets($fp, 1024);

readline:

$line = readline("Command: ");

【讨论】:

    【解决方案2】:

    我实际上创建了一个 dnsTools 脚本,该脚本将运行一个 perl 脚本,类似于您想要做的事情。我在这里使用了 shell_exec 是我所做的一个例子

    $ip=shell_exec('/usr/bin/perl ./dnstools.pl -ta -h'.$_POST["domain"].' -s@vnsc-lc.sys.gtei.net');
    

    然后我的脚本只会将 IP 作为字符串返回。

    记住: 执行命令的输出,如果发生错误或命令不产生输出,则为 NULL。 http://php.net/manual/en/function.shell-exec.php

    另外,请记住,如果有用户输入,使用该命令可能会造成安全问题。

    如果 shell_exec 已关闭,您可以尝试使用 curl 通过网络运行命令,然后仍然处理结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 2014-07-14
      相关资源
      最近更新 更多