2016-12-14 163 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腳本,從那裏讀取數據並將其顯示在任何你想要的地方。 –