我有一个网址,当我使用浏览器和邮递员调用该网址时,它工作正常,但使用 axios 它会抛出 404 错误,如果有人帮助我清除此错误,我将不胜感激
iam 给出了我面临问题的代码片段
let response = await axios.get(`https://scholar.google.co.in/citations?user=sGJSZ1AAAAAJ&hl=en&cstart=0&pagesize=1000`, {
headers: {
"User-Agent":
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36",
},
});
我检查了url是否正确然后我发现url没有错误然后我添加了user-agent标头但没有用
您的请求被 CORS 政策阻止。
对于本地开发,您可以使用此扩展:
但正确的解决方案是为您的请求设置一个基本的代理服务器。您可以这样做:
npm init
创建 package.json 文件"type": "module"
设置为 package.json
npm i cors express node-fetch
import express from "express";
import cors from "cors"
import fetch from "node-fetch";
const app = express();
app.use(cors());
const requestListener = async function (req, res) {
const response = await fetch("https://scholar.google.co.in/citations?user=sGJSZ1AAAAAJ&hl=en&cstart=0&pagesize=1000")
const data = await response.text();
res.send(data);
}
app.get('/', cors(), requestListener);
app.listen(2000, () => {
console.log('Start listen on port 2000');
})
node index.js
let response = await axios.get("http://localhost:2000")
这将返回该页面的 HTML。