<bdo id='cVKdk'></bdo><ul id='cVKdk'></ul>
  • <i id='cVKdk'><tr id='cVKdk'><dt id='cVKdk'><q id='cVKdk'><span id='cVKdk'><b id='cVKdk'><form id='cVKdk'><ins id='cVKdk'></ins><ul id='cVKdk'></ul><sub id='cVKdk'></sub></form><legend id='cVKdk'></legend><bdo id='cVKdk'><pre id='cVKdk'><center id='cVKdk'></center></pre></bdo></b><th id='cVKdk'></th></span></q></dt></tr></i><div id='cVKdk'><tfoot id='cVKdk'></tfoot><dl id='cVKdk'><fieldset id='cVKdk'></fieldset></dl></div>

    <small id='cVKdk'></small><noframes id='cVKdk'>

      <legend id='cVKdk'><style id='cVKdk'><dir id='cVKdk'><q id='cVKdk'></q></dir></style></legend>

        <tfoot id='cVKdk'></tfoot>

        如何使用 Python 请求发布 JSON 数据?

        时间:2024-04-21

          <tfoot id='1vU0L'></tfoot>
            <tbody id='1vU0L'></tbody>

        • <i id='1vU0L'><tr id='1vU0L'><dt id='1vU0L'><q id='1vU0L'><span id='1vU0L'><b id='1vU0L'><form id='1vU0L'><ins id='1vU0L'></ins><ul id='1vU0L'></ul><sub id='1vU0L'></sub></form><legend id='1vU0L'></legend><bdo id='1vU0L'><pre id='1vU0L'><center id='1vU0L'></center></pre></bdo></b><th id='1vU0L'></th></span></q></dt></tr></i><div id='1vU0L'><tfoot id='1vU0L'></tfoot><dl id='1vU0L'><fieldset id='1vU0L'></fieldset></dl></div>

        • <small id='1vU0L'></small><noframes id='1vU0L'>

            <bdo id='1vU0L'></bdo><ul id='1vU0L'></ul>

                  <legend id='1vU0L'><style id='1vU0L'><dir id='1vU0L'><q id='1vU0L'></q></dir></style></legend>
                  本文介绍了如何使用 Python 请求发布 JSON 数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我需要将一个 JSON 从客户端发送到服务器.我正在使用 Python 2.7.1 和 simplejson.客户端正在使用请求.服务器是 CherryPy.我可以从服务器获取硬编码的 JSON(代码未显示),但是当我尝试将 JSON 发布到服务器时,我得到400 Bad Request".

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

                  有什么想法吗?

                  推荐答案

                  从 Requests 2.4.2 版本开始,您可以使用 json= 参数 (接受字典)而不是 data= (在调用中接受一个字符串):

                  Starting with Requests version 2.4.2, you can use the json= parameter (which takes a dictionary) instead of data= (which takes a string) in the call:

                  >>> import requests
                  >>> r = requests.post('http://httpbin.org/post', json={"key": "value"})
                  >>> r.status_code
                  200
                  >>> r.json()
                  {'args': {},
                   'data': '{"key": "value"}',
                   'files': {},
                   'form': {},
                   'headers': {'Accept': '*/*',
                               'Accept-Encoding': 'gzip, deflate',
                               'Connection': 'close',
                               'Content-Length': '16',
                               'Content-Type': 'application/json',
                               'Host': 'httpbin.org',
                               'User-Agent': 'python-requests/2.4.3 CPython/3.4.0',
                               'X-Request-Id': 'xx-xx-xx'},
                   'json': {'key': 'value'},
                   'origin': 'x.x.x.x',
                   'url': 'http://httpbin.org/post'}
                  

                  这篇关于如何使用 Python 请求发布 JSON 数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:如何在Matplotlib中将图例置于情节之外 下一篇:“超级"在 Python 中做了什么?- super().__init__() 和显式超类 __init__(

                  相关文章

                • <i id='wCfBa'><tr id='wCfBa'><dt id='wCfBa'><q id='wCfBa'><span id='wCfBa'><b id='wCfBa'><form id='wCfBa'><ins id='wCfBa'></ins><ul id='wCfBa'></ul><sub id='wCfBa'></sub></form><legend id='wCfBa'></legend><bdo id='wCfBa'><pre id='wCfBa'><center id='wCfBa'></center></pre></bdo></b><th id='wCfBa'></th></span></q></dt></tr></i><div id='wCfBa'><tfoot id='wCfBa'></tfoot><dl id='wCfBa'><fieldset id='wCfBa'></fieldset></dl></div>
                  <tfoot id='wCfBa'></tfoot>
                    <bdo id='wCfBa'></bdo><ul id='wCfBa'></ul>
                • <legend id='wCfBa'><style id='wCfBa'><dir id='wCfBa'><q id='wCfBa'></q></dir></style></legend>
                • <small id='wCfBa'></small><noframes id='wCfBa'>