簡體   English   中英

Python request.post到php服務器

[英]Python request.post to php server

這個問題的不同變體亂扔谷歌,但我找不到適合我需要的解決方案。 我正在嘗試從運行python的客戶端向使用PHP的Web服務器發送JSON字符串。 JSON字符串包含選擇查詢的結果。

我發現了很多示例和教程,它們涉及如何在python中生成JSON以及如何通過服務器頁面將數據從服務器數據庫發布到用戶。

我沒有找到的是如何實際將JSON從Python腳本傳輸到PHP腳本。 我在Linino上使用Arduino YUN,並嘗試了request.post(),但收到“找不到模塊”錯誤。

用簡單的英語解釋如何在兩個設備之間進行數據傳遞將大有幫助! 任何關於好的資源的建議,只要能實際顯示我所描述的例子,也是很好的。

Python(發布):

#!/usr/bin/python

import requests
import json

url = 'http://xxx.xxx.x.xxx/reciever.php'
payload = {"device":"gabriel","data_type":"data","zone":1,"sample":4,"count":0,"time_stamp":"00:00"}
headers = {'content-type': 'application/json'}

response = requests.post(url, data=json.dumps(payload), headers=headers)

PHP(接收器):

<?php

print_r(json_decode($_POST['payload']));

?>

也許有一種完全不同的方法,更好地將選擇查詢從客戶端發布到服務器? 客戶端將具有動態IP,服務器將基於Web。

默認情況下,庫requests未安裝在Python中。 您需要先通過pip或其他軟件包管理器獲取它:

pip install requests

之后,您可以使用它。

還有一個內置庫: urllib2 例:

import urllib
import urllib2

url = 'http://xxx.xxx.x.xxx/reciever.php'
payload = {"device":"gabriel","data_type":"data","zone":1,"sample":4,"count":0,"time_stamp":"00:00"}
headers = {'content-type': 'application/json'}    
data = urllib.urlencode(payload)
req = urllib2.Request(url, data, headers)
response = urllib2.urlopen(req)
the_page = response.read()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM