【问题标题】:Post data (dictionary list) with python requests使用 python 请求发布数据(字典列表)
【发布时间】:2022-11-15 21:43:32
【问题描述】:

我想通过 python 的 http 请求在下面发布我的词典列表。

my_data=[
   {
     'kl':'ngt',
     'schemas':
       [
        {
         'date':'14-12-2022',
         'name':'kolo'
        }
      ],
   },

   {

    'kl':'mlk',
    'schemas':
       [
         {
           'date':'23-10-2022',
           'name':'maka'
       }
    ]
  }
 ]

试图做

url='http://myapi.com/product
x=requests.post(url,json=my_data)

执行后它不会将产品发布到数据库中

【问题讨论】:

  • 这里可能会发生多种情况。您有要共享的 http 响应代码或堆栈跟踪吗?您当前的问题没有足够的详细信息。
  • 状态代码不同于 200,在这些情况下使用 data=my_data 而不是 json=my_data

标签: python django python-requests


【解决方案1】:

您应该检查发布请求的响应状态代码:

r = requests.post(url = 'http://myapi.com/product', data = my_data)
response_result = r.text

如果不是200,则发布请求未成功完成。

【讨论】:

  • 代码不同于 200,我想知道使用 json=my_data 是有效的,如果知道 my_data 是一个字典列表
  • @PathiaNanto 查看提出请求的文档:requests.readthedocs.io/en/latest/user/quickstart/…
  • 我认为您应该使用数据参数将有效负载传递给请求。
  • 通常使用 json= 你可以传递一个字典。目前你通过了一个列表,这可能是一个问题(我这边没有仔细检查)。你的http状态是什么?
猜你喜欢
  • 1970-01-01
  • 2014-06-01
  • 1970-01-01
  • 2015-10-05
  • 1970-01-01
  • 2021-05-02
  • 1970-01-01
  • 2022-07-05
  • 1970-01-01
相关资源
最近更新 更多