🏠某知识点
有无其他知识 或 前置知识
正常情况下:我们是可以在Express去发送请求滴...... 目前我在:使用Express -> axios.get(url) -> Python(flask)某个服务 出了问题 原因:python的flask默认是 127.0.0.1,我当时设置了localhost,就用的localhost请求, 应该用127.0.0.1做请求 AI解释:Flask的默认启动地址确实是127.0.0.1(本地回环地址),但是可以配置为localhost。不过,需要注意的是,使用axios(或其他HTTP请求库)发起请求时,如果你使用localhost作为请求的目标地址,它将默认使用浏览器的同源策略,这可能导致跨域请求问题。 在大多数情况下,将Flask应用程序的地址设置为127.0.0.1或localhost应该都可以正常工作,但是要确保在axios请求中使用 ~~与Flask应用程序运行的地址匹配的目标地址。 ~~只能用localhost
🔗代码链接
代码块
我首先就是在express的某个api里去请求了python 的某个api
router.get('/week/frequency', async function (req, res, next) {
const { time, name } = req.query;
const apiUrl = `http://localhost:3001/student/week?time=${time}&name=${name}`;
try {
const response = await axios.get(apiUrl);
const responseData = response.data;
res.json(responseData);
} catch (error) {
res.status(500).json({ message: 'python request is failed' });
}
});
错误来咯
这个"::1"应该就是localhost,所以我找了一些答案并做出了尝试。
✅我的做法
大体逻辑
第一步
将localhost换成了127.0.0.1 解决问题....
🎦结论
回顾描述与评价
请注意,你某个服务的地址和端口 一定要对应上,尤其是python,它现在默认就是127.0.0.1,不能用localhost,即使你再python里设定了启动为localhost也不行。不知道为啥 如果你的地址确定能访问,就要相信自己是对的。二选一 就知道谁错了: )
最后,有用点个赞吧? 👀