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

Python循环读取序列号拼接URL末尾请求接口并追加结果到文件咨询

问题解决方案

原代码问题梳理

  • 使用f.read()一次性读取整个文件为单个字符串,没有按行拆分出独立序列号,直接拼接会将所有序列号、换行符一并写入URL,不符合接口路径规则
  • 缺少遍历序列号的循环逻辑,只会发起单次请求
  • 路径占位符{}未传入对应序列号参数,格式化规则未生效
  • 缺少返回结果追加写入本地文件的逻辑

修正后完整代码

import http.client

# 请替换为你实际的有效请求头,包含API鉴权所需字段
headers = {
    'Authorization': 'Bearer 你的实际API_TOKEN',
    'Accept': 'application/json'
}

# 读取序列号列表,按行拆分并过滤空行
with open('serial_no_list', 'r', encoding='utf-8') as f:
    serial_list = [line.strip() for line in f.readlines() if line.strip()]

conn = http.client.HTTPSConnection("api.activeiq.netapp.com")

# 遍历所有序列号发起请求,结果追加写入文件
with open('cluster_summary_result.json', 'a', encoding='utf-8') as res_file:
    for serial in serial_list:
        # 拼接接口路径
        api_path = f"/v1/clusterview/get-cluster-summary/{serial}"
        conn.request("GET", api_path, headers=headers)
        res = conn.getresponse()
        data = res.read().decode("utf-8")
        # 写入结果,可根据需要添加换行分隔不同序列号的返回内容
        res_file.write(data + '\n')
        print(f"序列号{serial}请求完成,状态码:{res.status}")

conn.close()

注意事项

  • 代码中headers变量需要替换为你实际的请求头,否则会出现接口鉴权失败的问题
  • 如果你的序列号文件存在空行,列表生成时会自动过滤,避免无效请求
  • 所有返回结果会按请求顺序追加到cluster_summary_result.json文件中,你可以根据需要修改输出文件名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:24:02