【问题标题】:How to execute python script with curl from php?如何使用来自 php 的 curl 执行 python 脚本?
【发布时间】:2017-10-04 00:01:23
【问题描述】:

我想用 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 发布数据进行调用。

提前致谢!

【问题讨论】:

标签: php python shell curl


【解决方案1】:

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

但是,根据CGI spec(如果这应该是一个真正的 CGI 应用程序),通过 shell 参数传递发布数据是不正确的。 Post 数据来自 CGI 中的stdin,因此在您的 Python 程序中,您可以像普通用户输入一样读取 HTTP 响应,然后解析出 POST 数据。请参阅此thread 了解更多信息。

【讨论】:

    猜你喜欢
    • 2019-08-21
    • 2020-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2016-11-29
    • 2015-07-11
    相关资源
    最近更新 更多