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

Python Requests调用接口遇application/octet-stream不支持错误,Postman可成功

解决Python requests调用API出现“application/octet-stream not supported”错误的方案

根据你提供的信息,问题出在请求参数的格式处理以及文件MIME类型的默认设置上,以下是具体修复步骤:

  • 修正payload的序列化方式:你当前用str(payload)转换的是Python字典的字符串表示(带单引号),并非标准JSON格式。API可能无法解析这种格式,导致请求被拒。改用json.dumps(payload)生成标准JSON字符串:

    import json
    
    # 生成标准JSON字符串
    data = {"quotaionDtos": json.dumps(payload)}
    
  • 指定文件的正确MIME类型:当使用files参数时,requests默认会给文件分配application/octet-stream类型,如果API不支持这个类型就会报错。你需要为每个文件显式指定对应的MIME类型(比如图片用image/jpeg,CSV文件用text/csv):

    # 示例:为文件指定MIME类型
    files = {
        "file_field_name": ("your_filename.ext", open("path/to/your/file", "rb"), "正确的MIME类型")
    }
    
  • 核对请求参数与Postman完全一致:确认data中的字段名、文件参数的键名和Postman里的form-data字段完全匹配,包括大小写和拼写。

调整后的完整调用代码示例:

import json
import requests

session = requests.Session()
url = "你的API地址"
payload = {"你的": "payload数据"}

data = {"quotaionDtos": json.dumps(payload)}
files = {
    "file_key": ("example.jpg", open("example.jpg", "rb"), "image/jpeg")
}

response = session.request('POST', url, data=data, files=files)
# 查看响应内容排查问题
print(response.text)

内容的提问来源于stack exchange,提问作者CHIU TZE CHEUNG

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:30:44