是否有任何无需服务器端更改 Javascript 的 CORS 解决方法?

Lwi*_*ein 2 javascript media-player cors video.js reactjs

我正在尝试从我的反应网站访问公开共享的谷歌驱动器视频文件,因为谷歌驱动器文件不是绝对可下载的文件,我正在尝试使用自定义播放器播放谷歌驱动器视频,所以在播放器中显示视频之前,我需要使用 XHR 请求提取绝对文件 url。但是我无法使用 XHR 访问 googledrive.com,因为它只会收到 CORS 错误。有没有办法从客户端域请求其他服务器域而不需要任何服务器端更改?

Lea*_*Fun 5

简答

不。如果不修改服务器端代码,就不可能绕过 CORS。

长答案

CORS(跨源资源共享)是浏览器允许开发人员从您的网站连接到外部 API 的方式。

但这是一个明显的安全风险,并非所有 API 都应该公开。为了解决此风险,CORS 仅允许您与启用了 CORS 的服务器进行通信。

除非服务器的所有者突然决定启用 CORS,否则您无法从您的网站向服务器发出请求。

唯一的办法

实现目标的唯一方法是从服务器发送请求。当从服务器向服务器发出请求时,不存在 CORS(它仅存在于浏览器上)。

您必须自己创建一个服务器,在那里发出请求,然后将响应发送到客户端。