我try 使用NodeJS后端应用程序从https://api.solscan.io/chaininfo
获取数据,但收到429: Too many requests
错误.
有趣的是,相同的API在使用fetch
或axios
的Reaction前端应用程序上运行得非常好.
我测试了其他一些方法,包括Windows上的curl
,甚至从网络浏览器(Windows上的Chrome)获取API,它们都能像预期的那样工作.
+-------------+----------------+-----------------------+
| Methods | Environment | Result |
+-------------+----------------+-----------------------+
| fetch | React Frontend | Works |
| axios | React Frontend | Works |
| curl | Windows | Works |
| Web Browser | Chrome Windows | Works |
| fetch | NodeJS Backend | 429 Too many requests |
| axios | NodeJS Backend | 429 Too many requests |
| Postman | Windows | 429 Too many requests |
+-------------+----------------+-----------------------+
下面是我用来在NodeJS上获取API的代码:(引用axios
方法)
const axios = require("axios");
axios.get("https://api.solscan.io/chaininfo")
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
我还用完全相同的代码创建了一个CodeSandbox项目,以防您想自己测试它:https://codesandbox.io/p/sandbox/fervent-morse-symc4p?file=%2Findex.js%3A6%2C32
NodeJS后端和Reaction前端之间的差异可能是什么造成的,我如何修复它以使其在后端工作?