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

升级Python SDK至v10后调用API遇TypeError参数错误

问题解决:TypeError: Session.request() got an unexpected keyword argument 'version'

核心原因

你调用的是原生requests库的get方法,但该方法并不支持version参数。之前的代码可能依赖某个封装DX API的第三方SDK,升级至v10后,你误将SDK的参数用法套用到了原生requests上,导致报错。

解决方案

方案1:使用对应的DX SDK(推荐)

代码中设置了DX_GATEWAY、DX_CLIENT_ID等环境变量,说明你应该使用官方提供的DX SDK v10来调用API,而非直接用原生requests。示例大致如下(具体以SDK官方文档为准):

import os
import json
from dx_sdk import DXClient  # 替换为实际的SDK导入路径
from http import HTTPStatus

client_id = ""
client_secret = ""

os.environ["DX_GATEWAY"] = "http://api.com"
os.environ["DX_CLIENT_ID"] = client_id
os.environ["DX_CLIENT_SECRET"] = client_secret

# 初始化SDK客户端
client = DXClient()

path = "/path/to/api"
params = {
    "Type": "abc",
    "Id": "def",
    "limit": 999,
    "Category": "abc"
}

# 按SDK文档传递版本参数
vulns = client.get(path, params=params, version=1)

if vulns.status_code != int(HTTPStatus.OK):
    raise RuntimeError("API call did not return expected response: " + str(vulns))

response_data = vulns.json()    
print(json.dumps(response_data))

方案2:直接用原生requests调用(适配API版本控制)

如果坚持用原生requests,API版本通常通过以下两种方式传递,而非version参数:

  1. URL路径嵌入版本:
    修改path为带版本的路径,同时利用requests的params参数自动处理参数拼接:
    path = "/v1/path/to/api"  # 将版本v1嵌入API路径
    params = {
        "Type": "abc",
        "Id": "def",
        "limit": 999,
        "Category": "abc"
    }
    vulns = requests.get(
        url=f"{os.environ['DX_GATEWAY']}{path}",
        params=params
    )
    
  2. 请求头传递版本:
    如果API要求通过请求头指定版本:
    path = "/path/to/api"
    params = {
        "Type": "abc",
        "Id": "def",
        "limit": 999,
        "Category": "abc"
    }
    vulns = requests.get(
        url=f"{os.environ['DX_GATEWAY']}{path}",
        params=params,
        headers={"API-Version": "1"}  # 替换为API要求的版本头字段
    )
    

额外优化点

你手动拼接URL参数的方式容易因特殊字符未转义导致错误,建议直接使用requests.get的params参数,requests会自动处理参数编码和拼接逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:15:32