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

如何修复调用Mouser API并在Python控制台输出响应的问题

修复Mouser API请求代码的问题

你的代码无法正常运行主要有几个核心问题,以下是问题分析和修复方案:

问题点说明

  • 请求方法错误:Mouser的关键词搜索API要求使用POST方法,而非代码中的GET,官方接口规范明确该接口需通过请求体提交参数。
  • 参数传递方式错误:搜索关键词需要放在JSON格式的请求体中,不能作为URL查询参数传递。
  • API版本过时:v1版本的API已被官方弃用,建议使用最新的v2版本保证兼容性。
  • 错误处理不足:仅打印"请求失败"无法定位具体问题,需要输出状态码、响应内容等信息排查错误。

修复后的代码

import requests

def mouser_api_request(keyword):
    mouser_api_key = 'MY_API_KEY'  # 替换为你的实际API密钥
    version = 'v2'

    url = f'https://api.mouser.com/api/{version}/search/keyword'
    
    headers = {
        'Content-Type': 'application/json',
        'apiKey': mouser_api_key  # API密钥放在请求头,符合官方规范
    }
    
    # 构造API要求的标准请求体结构
    payload = {
        "SearchByKeywordRequest": {
            "Keyword": keyword,
            "Records": 10,  # 可选:设置返回的记录数量
            "StartingRecord": 0,  # 可选:设置起始记录位置
            "SearchOptions": "",  # 可选:如填写"ExactMatch"开启精确匹配
            "SearchWithYourSignUpLanguage": "true"
        }
    }

    try:
        response = requests.post(url, headers=headers, json=payload)
        response.raise_for_status()  # 自动触发HTTP错误对应的异常
        data = response.json()
        print(data)
    except requests.exceptions.RequestException as e:
        print(f'Mouser API请求失败: {str(e)}')
        if response.content:
            print(f'响应详情: {response.text}')

keyword_to_search = input('输入搜索关键词: ')
mouser_api_request(keyword_to_search)

关键修改说明

  1. 切换为POST请求,通过json参数传递符合API规范的请求体
  2. 将API密钥移至请求头的apiKey字段,避免URL暴露密钥
  3. 升级到v2版本API,适配官方最新接口
  4. 增加try-except块捕获所有请求异常,输出详细错误信息便于排查
  5. 按照Mouser API要求构造嵌套的SearchByKeywordRequest请求体结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:08:12