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

使用Python Requests调用AERIUS connect计算接口报错求助

问题排查与修复方案

你的代码核心问题出在请求构造逻辑上,结合AERIUS API的要求,以下是具体问题分析和修复方案:


1. 关键错误点

  • 参数传递冲突:requests.post中同时使用json=payload和files会导致请求结构混乱——当传files时,requests会自动构造multipart/form-data请求,但json=payload会试图把参数作为独立JSON Body发送,这和API要求的“参数+文件同属multipart表单”的结构不兼容。
  • 手动设置Content-Type:无需手动指定Content-Type: multipart/form-data,requests在传入files时会自动生成包含boundary的正确请求头,手动设置会覆盖该逻辑,导致服务器无法解析请求。
  • 参数与文件未关联:你定义的payload里的files配置,没有和实际上传的文件在表单中绑定,服务器无法识别文件对应的计算参数。

2. 修复后的代码

import requests

# 计算参数(原payload)
calculation_params = {
    "options": {
        "name": "Optional calculation name",
        "calculationYear": 2023,
        "sendEmail": True,
        "outputType": "PDF",
        "calculationPointsType": "WNB_RECEPTORS",
        "appendices": ["EDGE_EFFECT_REPORT"]
    },
    "files": [
        {
            "fileName": "AERIUS_20230611122035_0_Scenario1.gml",
            "situation": "DEFINED_BY_FILE",
            "substance": "NH3",
            "calculationYear": 2023
        }
    ]
}

# 构造multipart表单:把计算参数作为json字段传入
form_data = {
    'json': (None, requests.utils.json.dumps(calculation_params), 'application/json')
}

# 上传文件,确保文件名和calculation_params中的fileName一致
files = {
    'file': open(r"C:\Users\valen\OneDrive\Bureaublad\AERIUS_20230611122035_0_Scenario1.gml", 'rb')
}

url = "https://connect.aerius.nl/api/v7/wnb/calculate"

headers = {
    'accept': 'application/json',
    "api-key": 'place your personal api-key here'  # 替换为你的有效API密钥
}

# 发送请求:仅传form_data和files,不要用json参数
response = requests.post(url, data=form_data, headers=headers, files=files)

# 打印详细响应用于调试
print(f"状态码: {response.status_code}")
print(f"响应内容: {response.text}")

3. 调试建议

  • 查看response.text:服务器会返回具体错误原因,比如参数格式错误、API密钥无效、文件类型不兼容等。
  • 验证API密钥:确认密钥拥有WNB计算接口的访问权限,且未过期。
  • 检查文件状态:确保文件路径正确、未被锁定(比如OneDrive文件是否处于同步状态)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:38:20