通过URL将消息从Python发送到PHP文件时为空值

通过URL将消息从Python发送到PHP文件时为空值,php,python,json,python-requests,Php,Python,Json,Python Requests,我试图通过URL将JSON从python文件发送到PHP文件。PHP文件被正确地调用和运行。但是它没有捕获我试图发送的msg数据。但它显示为空 myPython.py import requests, json url = 'http:/mywebsite.com/api/v1/myPhpFile.php?msg=' payload = {'firstname':'Olivia', 'city':'London', 'country':'UK'} r = requests.post(url, d

我试图通过URL将JSON从python文件发送到PHP文件。PHP文件被正确地调用和运行。但是它没有捕获我试图发送的msg数据。但它显示为空

myPython.py

import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php?msg='
payload = {'firstname':'Olivia', 'city':'London', 'country':'UK'}
r = requests.post(url, data=payload)
import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php'
payload = {'msg':{'firstname':'Olivia', 'city':'London', 'country':'UK'}}
r = requests.post(url, data=payload)
import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php'
payload = {'firstname':'Olivia', 'city':'London', 'country':'UK'}
r = requests.post(url, data=json.dumps(payload))
还尝试:

r = requests.post(url, data=json.dumps(payload))
myPHP.php

<?php
...

class AddUser extends Abstractor {
    public $log;

    public function __construct() {
        $this -> log = new MyLogPHP('../includes/debug.log.txt');       
    }

    public function processJob($workerMsg) {
        $this -> log -> info($workerMsg, 'W/ADD-USER');
    }
}

$addUser = new AddUser();
$response = $addUser -> processJob($_REQUEST['msg']);
<?php
...
class AddUser extends Abstractor {
    public $log;

    public function __construct() {
        $this -> log = new MyLogPHP('../includes/debug.log.txt');       
    }

    public function processJob($workerMsg) {
        $this -> log -> info($workerMsg, 'W/ADD-USER');
    }
}

$addUser = new AddUser();
$entityBody = file_get_contents('php://input');
$response = $addUser -> processJob($entityBody);

我做错了什么?亚历克斯是对的

您正在发送正文中的数据,应该使用PHP请求正文。 下面的代码将帮助您开始

myPython.py

import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php?msg='
payload = {'firstname':'Olivia', 'city':'London', 'country':'UK'}
r = requests.post(url, data=payload)
import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php'
payload = {'msg':{'firstname':'Olivia', 'city':'London', 'country':'UK'}}
r = requests.post(url, data=payload)
import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php'
payload = {'firstname':'Olivia', 'city':'London', 'country':'UK'}
r = requests.post(url, data=json.dumps(payload))
myPHP.php

<?php
...

class AddUser extends Abstractor {
    public $log;

    public function __construct() {
        $this -> log = new MyLogPHP('../includes/debug.log.txt');       
    }

    public function processJob($workerMsg) {
        $this -> log -> info($workerMsg, 'W/ADD-USER');
    }
}

$addUser = new AddUser();
$response = $addUser -> processJob($_REQUEST['msg']);
<?php
...
class AddUser extends Abstractor {
    public $log;

    public function __construct() {
        $this -> log = new MyLogPHP('../includes/debug.log.txt');       
    }

    public function processJob($workerMsg) {
        $this -> log -> info($workerMsg, 'W/ADD-USER');
    }
}

$addUser = new AddUser();
$entityBody = file_get_contents('php://input');
$response = $addUser -> processJob($entityBody);
亚历克斯是对的

您正在发送正文中的数据,应该使用PHP请求正文。 下面的代码将帮助您开始

myPython.py

import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php?msg='
payload = {'firstname':'Olivia', 'city':'London', 'country':'UK'}
r = requests.post(url, data=payload)
import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php'
payload = {'msg':{'firstname':'Olivia', 'city':'London', 'country':'UK'}}
r = requests.post(url, data=payload)
import requests, json
url = 'http:/mywebsite.com/api/v1/myPhpFile.php'
payload = {'firstname':'Olivia', 'city':'London', 'country':'UK'}
r = requests.post(url, data=json.dumps(payload))
myPHP.php

<?php
...

class AddUser extends Abstractor {
    public $log;

    public function __construct() {
        $this -> log = new MyLogPHP('../includes/debug.log.txt');       
    }

    public function processJob($workerMsg) {
        $this -> log -> info($workerMsg, 'W/ADD-USER');
    }
}

$addUser = new AddUser();
$response = $addUser -> processJob($_REQUEST['msg']);
<?php
...
class AddUser extends Abstractor {
    public $log;

    public function __construct() {
        $this -> log = new MyLogPHP('../includes/debug.log.txt');       
    }

    public function processJob($workerMsg) {
        $this -> log -> info($workerMsg, 'W/ADD-USER');
    }
}

$addUser = new AddUser();
$entityBody = file_get_contents('php://input');
$response = $addUser -> processJob($entityBody);

您正在请求正文中发送数据,并尝试在URL中的参数中提取数据。这是两件不同的事情。研究如何在PHP中访问请求体,或者如何在python中将参数编码到URL中。您正在请求体中发送数据,并尝试在URL中的参数中提取数据。这是两件不同的事情。研究如何在PHP中访问请求体,或者如何在python中将参数编码到URL中。