Python 如何创建一个真正简单的json服务器?
我正在寻找一种方法来创建一个简单的json服务器,它只能获取一些数据并使用它们。没有深入的研究,等等 所有在web上发布的答案都是深入、困难或使用不推荐的方法/模块: 我需要的是: 客户:Python 如何创建一个真正简单的json服务器?,python,json,python-3.x,Python,Json,Python 3.x,我正在寻找一种方法来创建一个简单的json服务器,它只能获取一些数据并使用它们。没有深入的研究,等等 所有在web上发布的答案都是深入、困难或使用不推荐的方法/模块: 我需要的是: 客户: requests.post('http://localhost:80108', json={'data':'test'}) import requests data = {'Action': 'Action2', 'Data': ['MILK', 'BREAD', 'WATER']} r
requests.post('http://localhost:80108', json={'data':'test'})
import requests
data = {'Action': 'Action2',
'Data': ['MILK', 'BREAD', 'WATER']}
response = request.post('http://localhost:43560/', json=data)
print(response.text)
>>>'200'
服务器:
....
....
....
data = json.loads(rcv_data)
if data['data'] == 'test':
print('Simple test')
from flask import Flask
from flask import request
import json
app = Flask(__name__)
def post_actions(data):
return {
'Action1': func1,
'Action2': func2,
'Action3': func3,
}.get(data['Action'])(data['Data'])
@app.route("/", methods=['GET', 'POST'])
def indx():
if request.method == 'POST':
if request.data:
rcv_data = json.loads(request.data.decode(encoding='utf-8'))
rsp = post_actions(rcv_data)
if rsp:
return rsp
else:
return '200'
else:
return '404'
if __name__ == "__main__":
app.run(host='localhost', port='43560')
JSON不是这里的重要部分,序列化和反序列化JSON数据是由标准库JSON模块完成的
您需要的是一个简单的服务器,它接受请求并调用Python代码;有几个小框架可以满足这个要求,这是一个很好的选择。这不是一个简单的答案,但我建议看看如何制作一个新的框架。这是一个很好的起点。然后用它把你带到你想去的地方。先前的回答提到了烧瓶。Flask与django非常相似,但如果您打算将其构建为一个更大的项目,我建议使用django而不是Flask。那么您基本上需要与服务器交换JSON?您想过一个简单的RESTAPI吗?您可以使用+标准json模块实现一个或更简单。Ty获取答案。这就是我要找的 服务器:
....
....
....
data = json.loads(rcv_data)
if data['data'] == 'test':
print('Simple test')
from flask import Flask
from flask import request
import json
app = Flask(__name__)
def post_actions(data):
return {
'Action1': func1,
'Action2': func2,
'Action3': func3,
}.get(data['Action'])(data['Data'])
@app.route("/", methods=['GET', 'POST'])
def indx():
if request.method == 'POST':
if request.data:
rcv_data = json.loads(request.data.decode(encoding='utf-8'))
rsp = post_actions(rcv_data)
if rsp:
return rsp
else:
return '200'
else:
return '404'
if __name__ == "__main__":
app.run(host='localhost', port='43560')
客户:
requests.post('http://localhost:80108', json={'data':'test'})
import requests
data = {'Action': 'Action2',
'Data': ['MILK', 'BREAD', 'WATER']}
response = request.post('http://localhost:43560/', json=data)
print(response.text)
>>>'200'