问题是,我正在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;
}
?>
答案 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);