আমার একটি ক্লায়েন্ট থেকে একটি সার্ভারে একটি JSON পোস্ট করতে হবে। আমি পাইথন ২.7.১ এবং সিম্পজসন ব্যবহার করছি। ক্লায়েন্ট অনুরোধগুলি ব্যবহার করছে। সার্ভারটি চেরিপাই। আমি সার্ভার থেকে একটি হার্ড-কোডেড জেএসএন পেতে পারি (কোডটি দেখানো হয়নি) তবে যখন আমি সার্ভারে একটি জেএসএন পোস্ট করার চেষ্টা করি তখন আমি "400 বাজে অনুরোধ" পাই।
এখানে আমার ক্লায়েন্ট কোড:
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)
।