我想在浏览器中动态获取Wikipedia网页,以便使用XSLTProcessor进一步处理XHTML。
不幸的是,这不起作用,因为我无法让Wikipedia在HTTP响应中发送“Access-Control-Allow-Origin”标头。
我尝试在https://www.mediawiki.org/wiki/Manual:CORS中添加“origin”参数,但没有成功。
对我来说,获取浏览器在导航到该页面时获取的完整网页HTML非常重要,因此MediaWiki API对我来说是不可能的。
这就是我的尝试:
var url = "https://en.wikipedia.org/wiki/Star_Trek?origin=https://my-own-page.com";
fetch(url).then(function(response){
console.log(response);
});
答案 0 :(得分:2)
不幸的是,这不起作用,因为我无法让维基百科发送" Access-Control-Allow-Origin" HTTP响应中的标头。
不,你不能。由维基百科决定是否要明确授予在其他网站上运行的JavaScript访问其网页的权限。
因为这将允许用户'要泄露的个人信息(例如登录维基百科页面显示用户的用户名,可用于增强网络钓鱼攻击),这显然是不可取的。
var url = "https://en.wikipedia.org/wiki/Star_Trek?origin=https://my-own-page.com";
origin
是HTTP请求标头,而不是查询字符串参数,并且自动包含在跨源XMLHttpRequest / fetch请求中,而无需执行任何特殊操作。