如何用php从curl执行python脚本?

时间:2017-05-05 13:20:00

标签: php python shell curl

我想用post数据执行python脚本,并在php中使用curl从那里获取结果。如果有人已经完成了这种功能,那么请帮忙。我搜索了很多但没有得到任何东西。

这是我的python脚本路径

cgi-bin/interactive.py

我希望将title=abc作为发布数据传递。

我在php文件中用shell_exec完成了它,

$command = escapeshellcmd('cgi-bin/interactive.py test');
$output = shell_exec($command);
echo $output;

但是在这方面我遇到了sys.argv在python文件中获取参数的问题。

是否可以使用shell_exec传递带key = value的参数?如果是,那么它可以解决我的问题,否则我需要使用curl post数据调用。

提前致谢!

1 个答案:

答案 0 :(得分:1)

要对shell参数进行高级解析,可以使用getoptargparse模块。它们具有高度可配置性和灵活性。

根据CGI spec(如果这应该是真正的CGI应用程序),通过shell参数传递post数据是不合适的。发布数据来自CGI中的stdin,因此在Python程序中,您可以像常规用户输入一样读取HTTP响应,然后解析POST数据。有关详细信息,请参阅此thread