OpenWeather API GET请求返回404错误,寻求技术解决方案
解决OpenWeather API突然出现的404错误
哈哈,我之前跟着Stephen Grider的React/Redux课程做这个项目时,也碰到过一模一样的突然404问题!给你几个实用的排查和解决方向:
首先,最可能的原因是HTTP协议被API服务商禁用了。OpenWeather现在已经强制要求用HTTPS请求了,之前能用HTTP大概率是服务商还在兼容旧请求,现在突然停止支持了,直接导致HTTP请求返回404。
咱们先修改你的URL协议试试,把代码里的http://换成https://:
import axios from "axios"; const API_KEY = "3ce22afbb4c9b6c452574b28666ed63d"; // 替换成HTTPS协议 const ROOT_URL = `https://api.openweathermap.org/data/2.5/forecast?appid=${API_KEY}`; export const FETCH_WEATHER = "FETCH_WEATHER";
如果改完还是不行,再做这几个排查:
- 把拼接好的完整URL直接复制到浏览器地址栏访问,OpenWeather的API会返回详细的错误信息(比如API_KEY失效、调用超限、参数缺失等),比只看axios的404提示有用多了。
- 检查你的API_KEY是否还有效:登录OpenWeather的后台看看,有没有超过免费额度,或者密钥是不是被误删了。
- 确认接口路径是否正确:5天预报的接口确实是
/data/2.5/forecast,但如果课程里后来切换了其他预报类型(比如逐小时),路径可能不一样,不过跟着课程走的话这个概率不大。
另外提一句,如果你在本地开发碰到跨域问题,那是另一个问题(一般会报CORS相关错误),和这次的404没关系,先解决协议的问题再说~
内容的提问来源于stack exchange,提问作者Ollie
相关产品推荐
相关产品推荐

