AISWEI Solar API getPlantList接口调用无响应问题求助
修复AISWEI Solar API getPlantList接口400错误的排查方案
以下是针对你遇到的400错误的具体排查和修复方向:
核对接口路径准确性
你代码中使用的路径是/planlist,但目标接口名为getPlantList,请确认API手册中实际接口路径是否为/getPlantList。虽然返回400而非404,但不排除文档标注与实际部署路径存在差异。补充APP Key参数
你提到拥有9位数字加字母组成的APP Key,但当前代码仅传入了token参数。查看API手册的参数要求,确认是否需要在请求参数中添加appKey(或对应参数名),示例如下:params = { 'token': token, 'appKey': '你的APP Key', # 新增APP Key参数 'page': page, 'size': size }修正参数数据类型
代码里将page和size转换为字符串,多数API要求这两个参数为整数类型,直接传入int值即可,无需类型转换:params = { 'token': token, 'page': page, # 直接传入整数 'size': size # 直接传入整数 }确认请求方法是否匹配
部分光伏设备API的列表接口可能要求使用POST请求而非GET。检查API手册中的请求方式,如果为POST,需调整代码:# 若参数需放在JSON请求体中 response = requests.post(url, json=params, verify=False) # 若参数需用form-data格式传递 response = requests.post(url, data=params, verify=False)检查请求头要求
有些API会强制要求特定请求头,比如Content-Type: application/json,或需要基于APP Key和token生成签名头。查看API手册的鉴权章节,确认是否需要添加额外请求头,示例:headers = { 'Content-Type': 'application/json', # 若有签名要求,在此添加签名头,例如'Sign': '生成的签名字符串' } response = requests.get(url, params=params, headers=headers, verify=False)打印响应错误详情
400错误通常会返回具体错误描述,建议添加代码打印响应文本,明确服务器拒绝请求的原因:else: print(f"请求失败,状态码: {response.status_code}") print("错误详情:", response.text) # 新增打印响应内容 return None
修改后的示例代码(假设需要APP Key、整数参数、GET请求):
import requests def get_plant_list(token, app_key, page=1, size=20): url = 'https://api.general.aisweicloud.com/getPlantList' # 修正接口路径 params = { 'token': token, 'appKey': app_key, 'page': page, 'size': size } headers = { 'Content-Type': 'application/x-www-form-urlencoded' # 根据手册调整请求头 } try: response = requests.get(url, params=params, headers=headers, verify=False) if response.status_code == 200: return response.json() else: print(f"请求失败,状态码: {response.status_code}") print("错误详情:", response.text) return None except requests.exceptions.RequestException as e: print("请求发生异常:", e) return None token = 'XXXXXXXXXXXXX' app_key = '你的9位数字加字母的APP Key' plant_list = get_plant_list(token, app_key) if plant_list: print(plant_list)
内容的提问来源于stack exchange,提问作者kyleprr
相关产品推荐
相关产品推荐

