使用Python调用Mouser API查询元器件无结果及SSL问题求助
Mouser API 查询元器件问题解决方案
1. 解决「Request为必填项」错误
Mouser API(尤其是v2版本)要求严格的请求结构,必须在POST请求的JSON体中包含指定的请求对象。以查询型号LM258AMDREP为例,你需要使用SearchByPartRequest结构,同时正确传入API Key:
import requests import json API_KEY = "你的Mouser API Key" url = "https://api.mouser.com/api/v2/search/partnumber" payload = json.dumps({ "SearchByPartRequest": { "mouserPartNumber": "LM258AMDREP", "partSearchOptions": "None" } }) headers = { 'Content-Type': 'application/json', 'X-API-Key': API_KEY } response = requests.post(url, headers=headers, data=payload) print(response.json())
注意:请求必须是POST方法,且JSON结构要完全匹配API要求,不能遗漏SearchByPartRequest顶层对象,否则会触发必填项错误。
2. 解决SSL证书链验证失败错误
不要直接关闭verify=False(存在安全风险),可以通过以下两种方式修复:
- 使用系统默认CA证书:确保你的Python环境能访问系统根证书,大部分情况下直接去掉
verify参数即可(requests默认会使用系统CA)。 - 手动指定可信CA证书:如果系统证书有问题,安装
certifi库后使用其提供的证书:
import certifi # 在请求中添加verify参数 response = requests.post(url, headers=headers, data=payload, verify=certifi.where())
3. 推荐使用的API版本与流程
目前Mouser推荐使用v2版本API,功能更完善,文档更清晰。查询元器件详情的标准流程:
- 登录Mouser开发者平台,确保API Key已启用且权限正常(需完成邮箱验证)。
- 选择对应的API端点:查询型号用
/api/v2/search/partnumber,查询详细参数可后续用/api/v2/parts/details(需传入部件ID)。 - 严格按照API文档构造请求头和请求体,确保JSON格式正确,参数无遗漏。
内容的提问来源于stack exchange,提问作者spd
相关产品推荐
相关产品推荐

