使用Axios调用OMDB API时遭遇401 Unauthorized错误求助
首先,401错误几乎肯定是因为你的请求没有正确带上有效的API密钥,或者密钥的传递方式不对。咱们一步步来理清这个问题:
核心要点:API密钥的正确使用
你收到的示例链接里,apikey=1234cae2这部分就是密钥参数——你需要把1234cae2替换成你自己从OMDB官网获取的那串密钥字符,而不是直接用示例里的这串数字字母组合。OMDB要求每一个请求都必须在URL里带上这个apikey参数,没有它或者密钥无效都会返回401。
正确的请求格式示例
不管你用什么语言或工具,只要确保请求URL里包含apikey=你的密钥就行,举几个常用场景的例子:
基础的GET请求URL(按电影名搜索):
http://www.omdbapi.com/?t=inception&apikey=你自己的密钥你也可以用
i(IMDB ID)、s(模糊搜索关键词)等OMDB支持的其他参数,只要最后跟上apikey参数就好。JavaScript(Fetch API)实现示例:
const apiKey = '你自己的密钥'; const movieTitle = 'inception'; fetch(`http://www.omdbapi.com/?t=${encodeURIComponent(movieTitle)}&apikey=${apiKey}`) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('请求出错:', error));Python(Requests库)实现示例:
import requests api_key = '你自己的密钥' movie_title = 'inception' url = f'http://www.omdbapi.com/?t={movie_title}&apikey={api_key}' response = requests.get(url) data = response.json() print(data)
常见的坑要避开
- 别写错参数名:必须是全小写的
apikey,写成APIKey或者api_key都会直接返回401。 - 检查密钥复制是否准确:有时候复制时会多带空格、少字符,仔细核对你从OMDB邮件/官网拿到的密钥。
- 确认密钥状态:如果格式完全正确还是报错,去OMDB官网的账户页面看看你的密钥是否被禁用或过期。
内容的提问来源于stack exchange,提问作者user8359832
相关产品推荐
相关产品推荐

