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

带zip文件上传的curl命令转Python requests请求无效问题咨询

问题原因分析
  • 自动转换工具错误识别了curl中file=@myproject.zip;type=application/zip的参数,把MIME类型标识错误拼接进了文件名,导致两个核心错误:
    1. 读取本地文件时尝试打开不存在的myproject.zip;type文件
    2. 上传时的文件名和MIME类型参数都不符合接口解析要求
  • 普通表单参数放在files字段中虽然理论上可运行,但不符合requests的常规使用规范,也容易引发服务端参数解析异常。
修正后的代码
import requests
# 可选:禁用SSL校验时的警告提示
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

# 普通表单参数统一放在data中
data = {
    'session.id': 'e7a29776-5783-49d7-afa0-b0e688096b5e',
    'ajax': 'upload',
    'project': 'MyProject'
}

# 文件参数单独配置,格式为 (上传文件名, 文件对象, MIME类型)
# 推荐用with上下文管理器自动关闭文件,避免资源泄露
with open('myproject.zip', 'rb') as f:
    files = {
        'file': ('myproject.zip', f, 'application/zip')
    }
    response = requests.post(
        'https://localhost:8443/manager',
        data=data,
        files=files,
        verify=False
    )

# 可打印返回结果排查问题
print(response.status_code)
print(response.text)
修正说明
  • 将普通表单字段从files迁移到data参数,符合multipart/form-data请求的参数规范
  • 修正了文件字段的配置,正确对应本地文件路径、上传文件名和MIME类型
  • 补充了上下文管理器逻辑自动释放文件资源,可选添加警告禁用代码避免运行时出现SSL校验提示

内容的提问来源于stack exchange,提问作者The Beast

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 07:06:02