在 Javascript 中没有服务器端更改的情况下是否有任何 CORS 解决方法?

问题描述

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

解决方法

简答

没有。不修改服务器端代码就不可能绕过 CORS。

长答案

CORS(跨源资源共享)是一种浏览器让开发者可以从您的网站连接到外部 API 的方式。

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

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

唯一的方法

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

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