【问题标题】:How to create php response for requests.get of python script如何为python脚本的requests.get创建php响应
【发布时间】:2018-06-08 06:34:02
【问题描述】:

我想在我的 Python 脚本中使用这个函数来从 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();
?>

如何获取$state的值通过requests.get发送给Python脚本?

【问题讨论】:

  • 我需要一些帮助来了解这里发生了什么。你具体需要什么帮助?您需要 PHP 或 Python 方面的帮助吗?这真的是一个 HTTP 请求还是 PHP 和 Python 在同一台机器上运行?在此处提供有关您要执行的操作的更多详细信息
  • 不,它不在同一台机器上,我有一个服务器中的 PHP 脚本,而树莓上的 Python 脚本目标是我在用于 api.PHP 脚本的脚本 python 向我发送“状态”的值
  • 那么是 PHP 不工作还是 Python 脚本?

标签: php python server get python-requests


【解决方案1】:

您可以让您的 php 脚本返回 JSON 格式的字符串。然后 python 将接收一个字符串并将其解析为自己的数据结构。您可能需要 echo 或 returnyour 结果。

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

【讨论】:

  • 感谢您的回答,但我想知道如果我不想使用 Json,我们在变量 R 中得到的结果是什么!我知道如何使用 POST 方法将数据发送到我的 PHP 脚本,但如果 GET 方法应该用于通过 URL 地址接收数据,我不明白它是如何完成的
  • @jawaddidouh,正如他所说,你必须要么echo要么return你的结果。在这种情况下,您可能应该使用echo $state;。只要确保$state 的范围不限于您的while 循环即可。
  • 我很抱歉(我不能再编辑我以前的评论),我认为最好不要只做echo $state。通过返回 JSON 格式的值来遵循 Tekay37 的建议。
  • 好的,我明白了!但在许多示例中,看到这样的代码: r = requests.get("linuxfr.org/") print(r.text) 他们不使用 json!问题是他们没有显示发生了什么是“信息源端“
  • 是的,它们要么输出不需要解析的数据,要么以易于解析的方式输出数据。无论您使用 json、yaml 还是 xml 都没关系。 json 只是一种方便的方式。
猜你喜欢
  • 2021-10-22
  • 2011-11-16
  • 1970-01-01
  • 2016-08-18
  • 2015-04-06
  • 1970-01-01
  • 2014-09-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多