Ich brauche POST ein JSON von einem Client zu einem Server. Ich bin mit Python 2.7.1 und simplejson. Der Client verwendet Requests. Der Server ist CherryPy. Ich kann GET eine hart codierte JSON vom Server (Code nicht angezeigt), aber wenn ich versuche, POST eine JSON an den Server, erhalte ich "400 Bad Request".
Hier ist mein Client-Code:
data = {'sender': 'Alice',
'receiver': 'Bob',
'message': 'We did it!'}
data_json = simplejson.dumps(data)
payload = {'json_payload': data_json}
r = requests.post("http://localhost:8080", data=payload)
Hier ist der Server-Code.
class Root(object):
def __init__(self, content):
self.content = content
print self.content # this works
exposed = True
def GET(self):
cherrypy.response.headers['Content-Type'] = 'application/json'
return simplejson.dumps(self.content)
def POST(self):
self.content = simplejson.loads(cherrypy.request.body.read())
Irgendwelche Ideen?