如何修复对XMLHttpRequest at... from origin 'null' has been blocked by CORS policy: ... with NO access to the server side
的访问权限。
我正在从事一个项目,其中一部分需要我从特定页面上获取一些信息。
现在,仅当我连接到工作场所的网络时,才能访问此URL。
以下是我用来抓取的代码:
let axios = require('axios');
let cheerio = require('cheerio');
axios.get("---the url that I want---")
.then((response) => {
if(response.status === 200) {
// sucsessfull call to get
const html = response.data;
const $ = cheerio.load(html);
const jobTable = $('#tbl_JobInfo');
const table = jobTable.find('table');
console.log(table.text());
}
}, (error) => console.log(err) );
但是,使用此工具时,出现以下错误:
从原点“空”到“ ---我想要的URL-”的XMLHttpRequest的访问已被CORS策略阻止:在所请求的资源上没有“ Access-Control-Allow-Origin”标头。
我已经做了很多在线搜索,并且明白这是一个CORS问题,但是我无权访问服务器端的更改标头。
当我连接到工作场所的网络时,是否有任何方法可以解决此页面上的信息并获得访问权限?
谢谢
答案 0 :(得分:1)
您可以创建代理服务器并将其放置在工作场所的网络上。然后,您的客户端将与此代理服务器进行通信,而不是直接与您要从中进行爬网的服务器进行通信。
代理服务器只是一个简单的Web服务器,它接受来自客户端的GET请求,从URL中获取HTML并将其发送回客户端。