Bir istemciden bir sunucuya bir JSON POST gerekir. Python 2.7.1 ve simplejson kullanıyorum. İstemci İstekleri kullanıyor. Sunucu CherryPy'dir. Sabit kodlu bir JSON sunucudan (kod gösterilmiyor) GET, ancak sunucuya bir JSON POST çalıştığınızda, "400 Hatalı İstek" olsun.
İşte müşteri kodum:
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)
İşte sunucu kodu.
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())
Herhangi bir fikir?
__init__
bir content
argümanla sınıf yöntemlerini çağırmıyor (ve sağladığınız bağlantıda iddia etmiyor). Sahip oldukları ayrıntılı örnekte, kullanıcı __init__
, burada görmediğimiz argümanları çağıran ve sağlayan kodu sağlar, böylece # this works
yorumunuz alakalı olduğunda nesnenizin hangi durumda olduğunu bilmiyorum .
cherrypy.quickstart(Root(), '/', conf)
.