我在 python 中有一个简单的 http 客户端,它发送这样的 http post 请求:
import json
import urllib2
from collections import defaultdict as dd
data = dd(str)
req = urllib2.Request('http://myendpoint/test')
data["Input"] = "Hello World!"
response = urllib2.urlopen(req, json.dumps(data))
在使用 Flask 的服务器端,我可以定义一个简单的函数
from flask import request
@app.route('/test', methods = ['POST'])
def test():
output = dd()
data = request.json
服务器端的data
和客户端的data
是同一个字典。
但是,现在我要搬到 Klein,所以服务器代码如下所示:
@app.route('/test', methods = ['POST'])
@inlineCallbacks
def test(request):
output = dd()
data = request.json <=== This doesn't work
并且在 Klein 中使用的请求不支持相同的功能。我想知道有没有办法像我在 Flask 中获取 json 一样获取 Klein 中的 json?感谢您阅读这个问题。
最佳答案
Asaik Klein 不会让您直接访问 json 数据,但是您可以使用此代码来访问它:
import json
@app.route('/test', methods = ['POST'])
@inlineCallbacks
def test(request):
output = dd()
data = json.loads(request.content.read()) # <=== This will work
关于python - 在python中使用Klein访问http post请求的json内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37665554/