从PHP运行Python代码
我有一个Python文件,它使用从PHP运行Python代码,php,python,beautifulsoup,Php,Python,Beautifulsoup,我有一个Python文件,它使用 raw_input() 输入URL。然后,我使用BeautifulSoup浏览网站,并根据网站上的电子数据向用户询问一些其他问题(我刚刚浏览了…) 我希望将此命令行工具转换为web应用程序 我该怎么做呢 shell_exec() 不会做我想做的,因为(据我所知)无法通过PHP从原始输入()输入数据。您正在查找readline或stdin流: 与 与: 实际上,我创建了一个dnsTools脚本,它将运行一个perl脚本,类似于您想要做的事情。我使用了shell
raw_input()
输入URL。然后,我使用BeautifulSoup浏览网站,并根据网站上的电子数据向用户询问一些其他问题(我刚刚浏览了…)
我希望将此命令行工具转换为web应用程序
我该怎么做呢
shell_exec()
不会做我想做的,因为(据我所知)无法通过PHP从原始输入()输入数据。您正在查找readline或stdin流: 与 与:
实际上,我创建了一个dnsTools脚本,它将运行一个perl脚本,类似于您想要做的事情。我使用了shell_exec,这里是我所做的一个示例
$ip=shell_exec('/usr/bin/perl ./dnstools.pl -ta -h'.$_POST["domain"].' -s@vnsc-lc.sys.gtei.net');
然后我的脚本将以字符串形式返回IP
记住:
已执行命令的输出,如果发生错误或命令不产生输出,则为NULL。
此外,请记住,如果有用户输入,使用该命令可能会带来安全问题
如果关闭了shell_exec,您可以尝试使用curl在web上运行命令,然后仍然处理结果。为什么要使用php?--有许多本机Python web框架可供选择。CherryPy似乎适合您的应用。
$line = readline("Command: ");
$ip=shell_exec('/usr/bin/perl ./dnstools.pl -ta -h'.$_POST["domain"].' -s@vnsc-lc.sys.gtei.net');