You need to enable JavaScript to run this app. Python调用API上传XML文件后如何获取接口返回的更新后文件
优惠活动
大模型
产品
解决方案
定价
更多

Python调用API上传XML文件后如何获取接口返回的更新后文件

你需要校验接口响应状态正常后,直接把requests返回的响应二进制内容写入本地文件即可,补充代码如下:

# 校验请求状态
if res.status_code == 200:
    # 可自定义保存的文件名,也可以从响应头提取接口返回的文件名
    save_path = "updated_report.xml"
    # 二进制写入模式保存文件,不会出现编码乱码问题
    with open(save_path, "wb") as f:
        f.write(res.content)
    print(f"文件已成功保存至 {save_path}")
else:
    print(f"接口调用失败,状态码:{res.status_code},返回内容:{res.text}")

额外优化建议

  • 原上传文件逻辑中的文件句柄没有主动关闭,建议改成with上下文管理器的写法自动释放资源,优化后的上传代码如下:
with open('report.xml', 'rb') as f:
    req = {'file': f}
    res = requests.post(url, files=req, headers=headers)
  • 如果接口会在响应头Content-Disposition中指定返回文件的名称,可以通过以下方式提取文件名无需手动指定:
import re
disposition = res.headers.get("Content-Disposition", "")
file_name_match = re.findall(r'filename="?([^"]+)"?', disposition)
if file_name_match:
    save_path = file_name_match[0]
  • 如果需要先校验返回的XML内容合法性再保存,可以读取res.text转为字符串后做格式校验,确认无误再写入也可。

内容的提问来源于stack exchange,提问作者Mr.B

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.22 02:12:04