Значение NULL при отправке сообщения из Python в файл PHP через URL

Я пытаюсь отправить JSON из файла Python в файл PHP через URL. Файл PHP вызывается и выполняется правильно. Но он не улавливает данные сообщения, которые я пытаюсь отправить вместе с ним. Но это показывает NULL.

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)

также попробовал:

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']);

В журнале я получаю значение NULL.

Я даже попытался отредактировать URL, удалив ‘? Msg =’

myPython.py

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)

или же

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

Что я тут не так делаю?

1

Решение

@ Алекс прав.

Вы отправляете данные в теле, и вы должны запросить тело в PHP.
код ниже поможет вам начать.

myPython.py

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();
$entityBody = file_get_contents('php://input');
$response = $addUser -> processJob($entityBody);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]