【问题标题】:Send data to php file from python从python将数据发送到php文件
【发布时间】:2016-12-14 11:40:09
【问题描述】:

我正在尝试将数据从我的 python 文件发送到 php 文件并在浏览器中显示。

我已阅读以下问题:Sending data using POST in Python to PHP,我的代码基于问题的答案。

到目前为止,我的 python 代码是:

import urllib2, urllib

def main():
    mydata = [('one', '1'), ('two', '2')]  # The first is the var name the second is the value
    mydata = urllib.urlencode(mydata)
    path = 'http://localhost/test2.php'  # the url you want to POST to
    req = urllib2.Request(path, mydata)
    req.add_header("Content-type", "application/x-www-form-urlencoded")
    page = urllib2.urlopen(req).read()
    print page


if __name__ == "__main__":
    main()

我的php代码是:

<meta http-equiv="refresh" content="1" /> <!-- Updates the whole page each second -->
<?php
echo $_POST['one'];
echo "\n";
echo $_POST['two'];
?>

我正在更新页面,但它从未在浏览器中显示 1 和 2,它确实显示了用 python 打印的 1 和 2。有没有办法更新 php 文件,以便显示我发送给它的所有内容?

谢谢!

【问题讨论】:

  • 你必须再回头看看事情是如何运作的。在 http 服务器环境中使用的 php 文件会将其输出发送到请求客户端。那是刷新页面视图的浏览器和来自该脚本的请求的 python 脚本。这两个不同的请求是完全独立的。没有任何机制可以使在一个脚本运行中使用的值神奇地出现在一个完全独立的脚本运行中。您很可能希望使用数据库来持久存储此类值。

标签: php python


【解决方案1】:

如果您使用浏览器,请注意您没有通过 python 调用您的连接。 默认情况下,浏览器不会向您的 php 页面发送任何数据。

如果您通过终端调用 python 代码,您将在终端中获得结果,而不是在浏览器中。因为浏览器没有发送该数据。

你不能只使用 var_dump 来获取 php 中的每个帖子数据

<?php
var_dump($_POST);
?>

如果你能详细说明一下,我可以帮助你。

【讨论】:

  • 我正在制作一个智能镜子,我有一个心率变量和一个呼吸率变量,在我的应用程序中每隔几毫秒就会更新一次。我正在尝试将此数据发送到将显示在智能镜像屏幕上的 php 文件。
  • 如果您想实时执行此操作,我敢打赌使用原始套接字。您将在两个平台上获得一堆套接字库。
  • 如果你不想使用套接字,你可以轮询你的服务器。我不推荐这个。您可以将来自 python 的值存储在文件或数据库中。制作一个 php 脚本从那里读取数据并显示在任何你想要的地方。
  • 我现在正在使用套接字进行此操作,但我无法使其完美运行,您有经验吗?
  • 是的,我可以帮助你,你可以在邮件上 ping 我
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-11
  • 2013-01-31
相关资源
最近更新 更多