2016-12-14 164 views
0

我想从我的python文件发送数据到一个php文件并在浏览器中显示它。从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中的浏览器,它确实表明了1和2用python打印。有没有办法如何更新php文件,以便显示我发送给它的所有内容?

谢谢!

+0

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

回答

0

看看你是不是通过python调用你的连接,如果你正在使用浏览器。 浏览器默认不发送任何数据到你的php页面。

如果你通过终端调用python代码,你会得到结果,而不是在浏览器中。由于浏览器未发送该数据。

你不能只用var_dump获得在PHP

<?php 
var_dump($_POST); 
?> 

每一个岗位的数据如果您能详细一点可能是我可以帮你。

+0

我正在制作一个智能镜像,我有一个心跳变量和一个呼吸变量,在我的应用程序中每隔几ms就会更新一次。我正试图将这些数据发送到一个将在智能镜像屏幕上显示的php文件。 – user3801533

+0

如果你想实时做到这一点,我的赌注是使用原始套接字。您将在两个平台上获得一堆套接字库。 –

+0

如果你不想使用套接字,你可以轮询你的服务器。我不推荐这个。您可以将来自python的值存储在文件或数据库中。制作一个php脚本,从那里读取数据并将其显示在任何你想要的地方。 –