Попытка создать клиент-серверное приложение с Python в качестве клиента и PHP в качестве сервера.
Тестирование приема на стороне сервера сейчас, чтобы иметь возможность обрабатывать данные, но я выхожу пустым.
Клиент:
import requests, json
def main():
## Functions to get system info working fine
machine = {
"hostname" : hostname,
"system" : system,
"cpu_count" : cpu_count,
"cpu_usage" : cpu_usage,
"memory_total" : memory_total,
"memory_used" : memory_used,
"memory_used_percent" : memory_used_percent,
"drives" : disks,
"network_up" : network_stats["traffic_out"],
"network_down" : network_stats["traffic_in"]
}
# print(machine) displays expected output
post_data(machine)
def post_data(machine):
try:
endpoint = "http://monitor.localhost.local/api/"
r = requests.post(url = endpoint, json = machine)
print("POST:",r)
print(r.content)
except requests.exceptions.RequestException as e:
print("\nPOST Error:\n",e)
main()
Сервер:
<?php
header('Access-Control-Allow-Origin: *');
var_dump($_POST);
?>
Я получаю ответ 200, но с ответом, что $ _POST полностью пуст.
Я тоже пробовал
data = json.dumps(machine)
post_data(data)
...
r = requests.post(url = endpoint, data= machine)
Все безрезультатно.Я что-то упустил, чтобы иметь возможность обрабатывать POST-запрос на PHP-сервере?
РЕДАКТИРОВАТЬ: Примером машинной переменной с фактическими данными является
{
"hostname": "WORK-LAPTOP1",
"system": {
"name": "Windows",
"version": "10"
},
"cpu_count": 4,
"cpu_usage": 17.9,
"memory_total": 8440942592,
"memory_used": 6244225024,
"memory_used_percent": 74.0,
"drives": [
{
"name": "C:\\",
"mount_point": "C:\\",
"type": "NTFS",
"total_size": 536224985088,
"used_size": 167306108928,
"percent_used": 31.2
},
{
"name": "D:\\",
"mount_point": "D:\\",
"type": "NTFS",
"total_size": 463332921344,
"used_size": 49498419200,
"percent_used": 10.7
}
],
"network_up": 54,
"network_down": 4150
}