Python API请求获取错误类型错误:Session.request()获得意外的关键字参数“version”

vwkv1x7d  于 2023-02-02  发布在  Python
关注(0)|答案(1)|浏览(322)

我有一个API,我可以在其中提取结果,但在将SDK更新为Python v10后,我无法从API中运行pull,我得到了
TypeError:Session.request()获得意外的关键字参数“version”

import os
import json
import requests
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

dx_request = requests.Request()

path = "/path/to/api"

params = {
    "Type": "abc",
    "Id": "def",
    "limit": 999,
    "Category": "abc"
}

params_str = "&".join([f"{k}={v}" for k, v in params.items()])
url = "?".join([path, params_str])

vulns = requests.get( ## here is where the error is coming from.
    url=url,
    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))

错误来自任何帮助都非常感谢。

kse8i1jr

kse8i1jr1#

发生此错误的原因是requests.get()函数没有版本参数。此代码似乎是为旧版本的requests库编写的,尚未更新。
要修复此错误,可以从requests.get()函数中删除version参数,然后重试:

vulns = requests.get(url=url)

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))

相关问题