2017-12-27 393 views
-1

我想在我的Python脚本中使用此函数从PHP脚本中获取信息,例如脚本中的变量。如何为python脚本的requests.get创建php响应

r = requests.get("http://jawad.meswatts.fr/sous/api.php") 

api.php

<?php 
    try 
    { 
     $bdd = new PDO('mysql:host=localhost;dbname=jawad;charset=utf8', 'jawad', '************'); 
    } 
    catch(Exception $e) 
    { 
     die('Erreur : '.$e->getMessage()); 
    } 

    $req = $bdd->prepare(' SELECT state FROM MOTOR '); 
    $req->execute(); 
    while ($donnees = $req->fetch()) 
    { 
     $state = $donnees['state']; 
    } 
    $req->closeCursor(); 
?> 

如何获得通过requests.get发送到Python脚本的$state价值?

+0

我需要一些帮助理解这里发生了什么。你需要什么帮助?你需要PHP或Python的帮助吗?这实际上是一个HTTP请求,还是运行在同一台机器上的PHP和Python?提供一些关于你在这里试图做什么的更多细节 – WillardSolutions

+0

不,它不在同一台机器上,我有一个在服务器中的PHP脚本,而在树莓上的Python脚本的目标是我使用request.get函数在脚本python中为api.PHP脚本发送给我的值“state” –

+0

那么PHP不工作还是Python脚本? – WillardSolutions

回答

1

你可以让你的php脚本以JSON格式返回一个字符串。然后python会收到一个字符串,并可以将其解析为它自己的数据结构。您可能需要echoreturn您的结果。

PHP具有JSON对象,可以序列阵列: http://php.net/manual/de/jsonserializable.jsonserialize.php

Python有一个模块JSON来解码JSON字符串:

2.7:https://docs.python.org/2/library/json.html

3.6:https://docs.python.org/3.6/library/json.html

+0

感谢您的回答,但我想知道的是我们在变量R中得到的结果,以防我不想使用Json!我知道如何使用POST方法将数据发送到我的PHP脚本,但如果GET方法应该用于通过URL地址接收数据,我不明白它是如何完成的 –

+0

@jawaddidouh,正如他所说的,你有以“回声”或“返回”您的结果。在这种情况下,你可能应该'echo $ state;'。只要确保'$ state'的作用域不限于'while'循环。 –

+0

我的道歉(我不能再编辑我以前的评论),我不认为最好只是'echo $ state'。通过返回JSON格式的值来跟随Tekay37的建议。 –