我有一个使用
的Python文件raw_input()
输入网址。然后,我使用BeautifulSoup刮取网站,并根据网站上的数据向用户提出一些其他问题(我刚刚抓了...)
我希望将此命令行工具转换为Web应用程序。
我该怎么做呢?
shell_exec()
不会做我想要的,因为(据我所知)无法通过PHP从raw_input()输入数据。
答案 0 :(得分:0)
您正在寻找readline或stdin流:
$fp = fopen("php://stdin","r");
$line = rtrim(fgets($fp, 1024);
使用readline:
$line = readline("Command: ");
答案 1 :(得分:-1)
我实际上创建了一个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通过Web运行命令,然后仍然处理结果。