我正在尝试使用以下链接获取数据:https://cross-origin-boyan.herokuapp.com/http://universities.hipolabs.com/search
当我在本地测试它时,它工作得很好,但在我使用vercel发布网站后,它抛出了错误。它会给出403错误。
对于cors-every的server.js文件:
const corsProxy = require("cors-anywhere");
// Listen on a specific host via the HOST environment variable.
const host = process.env.HOST || "0.0.0.0";
// Listen on a specific port via the PORT environment variable.
const port = process.env.PORT || 8080;
corsProxy
.createServer({
originWhitelist: [
"http://localhost:3000",
"http://localhost:3001",
"https://btg-code-challenge.vercel.app/",
],
requireHeader: ["origin", "x-requested-with"],
removeHeaders: ["cookie", "cookie2"],
})
.listen(port, host, () => {
console.log("Running CORS Anywhere on " + host + ":" + port);
});
在originWhitelist中,我已经添加了我的网站链接。有谁知道这是什么原因造成的问题吗?
以下是关于我的请求的信息:
curl 'https://cross-origin-boyan.herokuapp.com/http://universities.hipolabs.com/search' \
-H 'Connection: keep-alive' \
-H 'sec-ch-ua: "Chromium";v="92", " Not A;Brand";v="99", "Google Chrome";v="92"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36' \
-H 'Accept: */*' \
-H 'Origin: https://btg-code-challenge.vercel.app' \
-H 'Sec-Fetch-Site: cross-site' \
-H 'Sec-Fetch-Mode: cors' \
-H 'Sec-Fetch-Dest: empty' \
-H 'Referer: https://btg-code-challenge.vercel.app/' \
-H 'Accept-Language: en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,fr;q=0.6' \
--compressed
发布于 2021-08-30 00:36:39
当我用一个普通的浏览器打开这个链接时,我会看到这个错误:Missing required request header. Must specify one of: origin,x-requested-with
,它对你很有帮助。
https://stackoverflow.com/questions/68977917
复制相似问题