我正在尝试学习JSON,并创建了一个非常基本的PHP脚本,该脚本可以接收来自Python脚本的JSON请求,并仅返回JSON请求。一切工作正常,但由于某种原因,返回给Python脚本的值是“ null”。
PHP:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
// read JSON input
$data = json_decode(file_get_contents("php://input"));
// JSON to variable
$message = $data->message;
// Set header
header("Content-type: application/json");
// Create and send JSON response
$response = array('message' => $message);
echo json_encode($response);
}
?>
Python:
from urllib.parse import urlencode
from urllib.request import Request, urlopen
# Variables
url = 'http://www.some-website.com/function.php'
post_fields = {"message":"It works!"}
request = Request(url, urlencode(post_fields).encode())
json = urlopen(request).read().decode()
print(json)
Python中的响应:
{"message":null}
有人可以解释为什么吗?