클라이언트에서 서버로 JSON을 POST해야합니다. Python 2.7.1 및 simplejson을 사용하고 있습니다. 클라이언트가 요청을 사용하고 있습니다. 서버는 CherryPy입니다. 서버에서 하드 코딩 된 JSON을 얻을 수 있지만 (코드는 표시되지 않음) JSON을 서버에 POST하려고하면 "400 Bad Request"가 표시됩니다.
내 고객 코드는 다음과 같습니다.
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)
서버 코드는 다음과 같습니다.
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())
어떤 아이디어?
__init__
메소드를 호출하지 않습니다 content
(제공 한 링크에서 주장하지 않습니다). 그들이 가지고있는 자세한 예에서, 사용자는 호출하는 코드를 __init__
제공하고 인수를 제공합니다. 여기서는 보지 못했습니다. 따라서 # this works
주석과 관련이 있을 때 객체의 상태를 알 수 없습니다 .
cherrypy.quickstart(Root(), '/', conf)
.