У меня есть простой клиент HTTP в питоне, отправляющий запрос HTTP POST, как это:доступа содержания JSON запроса 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))
На моей стороне сервера с Настоем, я могу определить простой функция
from flask import request
@app.route('/test', methods = ['POST'])
def test():
output = dd()
data = request.json
И data
на сервере будет тот же словарь, как data
на стороне клиента.
Однако, теперь я двигаюсь Клейн, так что код сервера выглядит следующим образом:
@app.route('/test', methods = ['POST'])
@inlineCallbacks
def test(request):
output = dd()
data = request.json <=== This doesn't work
и запрос, который был использован в Klein не поддерживает ту же функцию. Интересно, есть ли способ получить json в Klein так же, как я получил его в Flask? Спасибо, что прочитали этот вопрос.
Это сработало! Спасибо вам. Я просто не знаю, как получить доступ к контенту (request.content.read()) – JLTChiu
Я трачу часы, пытаясь «request.args.get», который по какой-то причине не работает должным образом. Затем я нахожу этот пост случайно, и теперь моя проблема решена. Спасибо !!!!!! – chanp
@chanp, рад я мог бы помочь :) – Dekel