You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何打印POST请求的响应体为列表?仅获取到状态码200

解决Python打印POST请求响应体并以列表形式输出的问题

嘿,我来帮你搞定这个问题!你当前的代码有两个关键小问题,导致只能拿到状态码却没法获取响应体:

  • 你需要发送的是POST请求,但代码里用了requests.get(),得改成requests.post()才行;
  • 调用JSON解析的时候,你写的是r.json(这只是引用方法对象),正确的用法是r.json()(加括号执行方法,返回解析后的JSON数据)。

结合你提供的API响应截图(假设响应体包含列表结构),这里给你一份完整的修正代码:

import requests

# 替换为你的目标API地址
target_url = "你的POST请求URL"
# 如果API需要请求体参数,在这里定义(根据实际需求调整)
post_data = {"param1": "value1", "param2": "value2"}

try:
    # 发送POST请求,自动将post_data转为JSON格式发送
    response = requests.post(target_url, json=post_data)
    # 检查请求是否成功,非200状态码会抛出异常
    response.raise_for_status()
    
    # 解析响应体为JSON数据
    response_json = response.json()
    
    # 根据响应结构处理并以列表形式输出
    if isinstance(response_json, list):
        print("响应体列表形式输出:")
        for item in response_json:
            print(f"- {item}")
    else:
        # 如果响应是字典,比如列表存放在"data"键下(根据截图结构调整键名)
        data_list = response_json.get("data", [])
        print("响应体中的列表内容:")
        for item in data_list:
            print(f"- {item}")
            
except requests.exceptions.RequestException as e:
    print(f"请求过程中出现错误:{e}")

补充说明:

  • 如果你的API不需要发送请求体参数,可以去掉json=post_data这个参数,直接用requests.post(target_url);
  • 如果你不确定响应的结构,可以先打印response_json看看具体内容,再调整提取列表的逻辑;
  • response.raise_for_status()能帮你快速发现请求错误(比如404、500等状态码),方便排查问题。

内容的提问来源于stack exchange,提问作者Secure policy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:34:41