Post JSON usando Python Requests

Necesito PUBLICAR un JSON desde 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

Respuestas a la pregunta(12)

Su respuesta a la pregunta