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

如何用Python将批量网络ID插入URL并调用Meraki API?

问题解决与优化代码

修正后的可运行代码

import requests

# 替换为你的真实Meraki API密钥
API_KEY = '你的实际API密钥'

with open('Test.txt', 'r') as file1:
    # 逐行读取文件,自动处理换行符
    for line in file1:
        network_id = line.strip()
        # 跳过空行,避免无效请求
        if not network_id:
            continue
        print(f"正在查询网络ID: {network_id}")
        # 构造请求URL
        url = f'https://dashboard.meraki.com/api/v0/networks/{network_id}'
        headers = {
            'X-Cisco-Meraki-API-Key': API_KEY,
            'Content-Type': "application/json"
        }
        try:
            # 发送GET请求
            response = requests.get(url, headers=headers, timeout=10)
            # 检查请求是否成功,失败则抛出异常
            response.raise_for_status()
            # 解析返回的JSON数据
            network_info = response.json()
            # 提取并打印网络名称
            print(f"结果: 网络ID {network_id} 对应名称为 {network_info.get('name', '未获取到名称')}\n")
        except requests.exceptions.RequestException as e:
            # 捕获请求异常并打印错误信息
            print(f"查询失败: 网络ID {network_id} 出错 - {str(e)}\n")

原代码问题分析与优化说明

  • 无效行处理:原代码未处理文本中的空行或带空格的行,这类行生成的URL会触发API错误,容易让你误以为只有最后一行有结果。修正后会自动跳过空行,并用strip()清理ID前后的空格/换行符。
  • 无异常捕获:原代码没有异常处理,一旦某条请求超时、权限错误或ID无效,程序会直接中断,后续ID无法查询。修正后添加了异常捕获,程序会继续处理剩余ID,并打印错误原因。
  • 输出可读性:原代码直接打印整个API返回的JSON文本,信息冗余。修正后提取出name字段,直接输出你需要的网络名称,更直观。
  • 冗余依赖:原代码导入了meraki、json、os但未实际使用,已删除以简化代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:30:47