Ask a Question
Ask Question Login
Corporate Training
  1. Community
  2. Python
  3. Question
Python

post json using python requests

Asked by Ayushi Gupta Apr 18, 2021 1.2K views 1 answer
Share

About this question

I need to POST a JSON from a client to a server. I'm using Python 2.7.1 and simplejson. The client is using Requests. The server is CherryPy. I can GET a hard-coded JSON from the server (code not shown), but when I try to POST a JSON to the server, I get an error "400 Bad Request".

Here is my client code:

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)

Here is the server code.

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())

Any solution?

Your answer

1 Answer

More Python discussions

Learn & Explore

Free tutorials and interview questions from industry experts — learn the skill, then get ready to prove it.

Latest Python Blogs

Guides, tips and career advice on Python from JanBask experts.