Tôi cần POST một JSON từ máy khách đến máy chủ. Tôi đang sử dụng Python 2.7.1 và Simplejson. Khách hàng đang sử dụng Yêu cầu. Máy chủ là CherryPy. Tôi có thể NHẬN một JSON được mã hóa cứng từ máy chủ (mã không được hiển thị), nhưng khi tôi cố gắng POST một JSON cho máy chủ, tôi nhận được "400 Yêu cầu xấu".
Đây là mã khách hàng của tôi:
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)
Đây là mã máy chủ.
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())
Có ý kiến gì không?
__init__
các phương thức lớp bằng một content
đối số (và không yêu cầu trong liên kết bạn cung cấp). Trong ví dụ chi tiết họ có, người dùng cung cấp mã gọi __init__
và cung cấp các đối số mà chúng ta chưa thấy ở đây vì vậy tôi không biết đối tượng của bạn đang ở trạng thái nào khi # this works
bình luận của bạn có liên quan.
cherrypy.quickstart(Root(), '/', conf)
.