如何在PHP的POST请求中获取JSON

时间:2018-10-19 18:34:09

标签: php python json

问题是,我正在POST请求中发送JSON文件,但我不知道如何从请求本身获取数据 这是发送POST请求的python脚本:

import json
import httplib
filepath = 'example.txt'
with open(filepath) as fp:  
   line = fp.readline()
   line2 = fp.readline(9)
   jsonbaloo = {}
   jsonbaloo["name"] = line
   jsonbaloo["score"]= line2
   result = json.dumps(jsonbaloo)
def post_dict():
 headers = {"Content-type": "application/json", "Accept": "text/plain"}
 conn = httplib.HTTPConnection('altrevista.org')
 conn.request("POST", "/", result, headers)
post_dict()

我想获取JSON数据服务器端,因此可以将其放在SQL数据库中,但不能使用PHP编程。

PHP脚本:

<?php

function detectRequestBody() {
    $rawInput = fopen('php://input', 'r');
    $tempStream = fopen('php://temp', 'r+');
    stream_copy_to_stream($rawInput, $tempStream);
    rewind($tempStream);
    return $tempStream;
}
?>

3 个答案:

答案 0 :(得分:1)

由于要写入文件,因此可以使用PHP fopen()file_get_contents()从文件中读取文件。

使用$fileHandle = fopen("path/to/example.txt", "r");

file_get_contents()

使用$fileString = file_get_contents("path/to/example.txt");

{{1}}

答案 1 :(得分:0)

conn.read()以获取响应

答案 2 :(得分:0)

您应该使用file_get_contents(php:// input流)接收数据,并使用json_decode将其转换为数组。

// Retrieve the Post JSON data
$input = file_get_contents('php://input');

// Convert to json to array
$array = json_decode($input, true);

// View the content of the array
print_r($array);