Bir istemciden sunucuya bir JSON POST işlemi yapmam gerekiyor. Python 2.7.1 ve simplejson kullanıyorum. Müşteri İstekleri kullanıyor. Sunucu CherryPy. Sunucudan kodlanmış bir JSON ALABİLİRİM (kod gösterilmiyor), ancak sunucuya bir JSON POST yapmaya çalıştığımda "400 Kötü İstek" aldım.Python İstekleri Kullanarak JSON Gönderme
İştedata = {'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)
sunucu kodu:
İşte müvekkilim kodudur.
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?
[document] 'in (http://docs.cherrypy.org/dev/progguide/REST.html) bir örneğinin soyulmuş bir sürümünü kullanıyorum. –
Benim yorumum hala geçerli - CherryPy 'content' argümanıyla '__init__' yöntemlerini çağırmıyor (ve sağladığınız bağlantıda talepte bulunmuyor). Sahip oldukları ayrıntılı örnekte, kullanıcı '__init__' olarak adlandırılan kodu sağlar ve burada görmediğimiz argümanları sağlar, böylece '# bu eser' yorumunuz ilgili olduğunda nesnenizin hangi durumda olduğunu bilmem. –
Örneğin oluşturulduğu satırı görmeyi mi istiyorsun? –