Str*_* B. 9 javascript cors cors-anywhere
我已经读了两个小时这个反向代理的文档来添加CORS头文件,我无法使用.能否请您帮助一个简单的例子如何使用它.
我在javascript中尝试过这个例子
(function() {
var cors_api_host = 'cors-anywhere.herokuapp.com';
var cors_api_url = 'https://' + cors_api_host + '/';
var slice = [].slice;
var origin = window.location.protocol + '//' + window.location.host;
var open = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function() {
var args = slice.call(arguments);
var targetOrigin = /^https?:\/\/([^\/]+)/i.exec(args[1]);
if (targetOrigin && targetOrigin[0].toLowerCase() !== origin &&
targetOrigin[1] !== cors_api_host) {
args[1] = cors_api_url + args[1];
}
return open.apply(this, args);
};
})();
Run Code Online (Sandbox Code Playgroud)
我真的不明白我是否需要node.js或究竟是什么
Rob*_*b W 23
CORS Anywhere帮助访问来自其他网站的数据,这些数据通常被Web浏览器的原始策略禁止.这是通过服务器代理对这些站点的请求来完成的(在本例中是用Node.js编写的).
"要使用API,只需在URL前加上API URL." .这就是全部.因此,http://example.com您将要求,而不是请求https://cors-anywhere.herokuapp.com/http://example.com.然后,CORS Anywhere将代表您的应用程序发出请求,并将CORS标头添加到响应中,以便您的Web应用程序可以处理响应.
XMLHttpRequest如果需要,您问题的代码段会自动修改生成的请求的网址.此片段不是必需的,您可以自己添加CORS Anywhere API URL,如演示页面中所做的那样.
Github上的存储库(https://github.com/Rob--W/cors-anywhere)包含为CORS Anywhere提供支持的服务器的源代码.如果您是前端开发人员,那么您需要知道的全部内容.如果您的应用程序有很多用户,那么您应该自己托管CORS Anywhere,以避免占用公共CORS Anywhere服务器上的所有资源.
Gra*_*ton 15
我顺从罗布,但这是我尝试回答你的问题.
(Rob,请随时纠正这个答案;并感谢CORS Anywhere.它最近给我带来了一大堆麻烦.)
例如,在命令提示符下,输入:
npm install cors-anywhere
(此示例命令在当前目录下安装CORS Anywhere node_modules\cors-anywhere.)
运行CORS Anywhere.
例如,在命令提示符下,输入:
node cors-anywhere.js
CORS Anywhere以如下消息响应:
Running CORS Anywhere on 127.0.0.1:8080
Run Code Online (Sandbox Code Playgroud)
(IP地址127.0.0.1是localhost;您的计算机.)
您可以在环境变量中指定端口,但我选择编辑本地副本中的值cors-anywhere.js.
现在,假设您要在以下URL使用不支持CORS的Web服务:
http://remote.server.com:8085/service
Run Code Online (Sandbox Code Playgroud)
您不使用该原始URL,而是使用CORS Anywhere域和端口,然后使用原始URL作为路径组件:
http://localhost:8080/remote.server.com:8085/service
Run Code Online (Sandbox Code Playgroud)
(您可以省略http://原始网址的前导.)
[我意识到我使用的 corsanywhere 与你的不同。我使用的这个不带连字符,corsanywhere 而不是 cors-anywhere。因此,如果您愿意,可以尝试这个,因为它似乎仍然工作正常:
https://corsanywhere.herokuapp.com/https://api.yelp.com/v3/businesses/search?term=pizza&location=$dallas&sort_by= rating 编辑:看起来这个(没有连字符)可能不是官方版本,所以请谨慎使用。] 1