Necesito PUBLICAR un JSON de un cliente a un servidor. Estoy usando Python 2.7.1 y simplejson. El cliente está utilizando solicitudes. El servidor es CherryPy. Puedo OBTENER un JSON codificado desde el servidor (no se muestra el código), pero cuando intento PUBLICAR un JSON en el servidor, obtengo "400 Bad Request".
Aquí está mi código de cliente:
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)
Aquí está el código del servidor.
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())
¿Algunas ideas?
__init__
métodos de clase con un content
argumento (y no afirma en el enlace que proporciona). En el ejemplo detallado que tienen, el usuario proporciona el código que llama __init__
y proporciona los argumentos, que no hemos visto aquí, así que no tengo idea de en qué estado se encuentra su objeto cuando su # this works
comentario es relevante.
cherrypy.quickstart(Root(), '/', conf)
.