PHP Сервер Обработка Python Запросов Post - PullRequest
0 голосов
/ 09 октября 2018

Попытка создать клиент-серверное приложение с 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
}

1 Ответ

0 голосов
/ 09 октября 2018

Это длинный снимок с данной информацией, но я думаю, что у вас есть проблема с приоритетом индексного файла.

Не могли бы вы добавить index.php к вашей конечной точке, http://monitor.localhost.local/api/index.php

...