ฉันต้องการโพสต์ JSON จากไคลเอนต์ไปยังเซิร์ฟเวอร์ ฉันใช้ Python 2.7.1 และ simplejson ลูกค้ากำลังใช้คำขอ เซิร์ฟเวอร์คือ CherryPy ฉันสามารถรับ JSON แบบฮาร์ดโค้ดจากเซิร์ฟเวอร์ (ไม่แสดงรหัส) แต่เมื่อฉันพยายามที่จะโพสต์ JSON ไปยังเซิร์ฟเวอร์ฉันได้รับ "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)
.