javascript - 是否有任何 CORS 解决方法而无需在 Javascript 中更改服务器端?
问题描述
我正在尝试从我的 react 网站访问公开共享的 google drive 视频文件,因为 google drive 文件不是绝对可下载的文件,我正在尝试使用自定义播放器播放 google drive 视频,所以在播放器中显示视频之前,我需要使用 XHR 请求提取绝对文件 url。但是我无法使用 XHR 访问 googledrive.com,因为它只会出现 CORS 错误。有没有办法从客户端域请求其他服务器域而无需任何服务器端更改?
解决方案
简答
不。如果不修改服务器端代码,就不可能绕过 CORS。
长答案
CORS(跨源资源共享)是一种让开发人员从您的网站连接到外部 API 的浏览器方式。
但这是一个明显的安全风险,并非所有 API 都是公开的。为了解决这个风险,CORS 只允许您与启用了 CORS的服务器通信。
除非服务器的所有者突然决定启用 CORS,否则您无法从您的网站向服务器发出请求。
唯一的办法
实现目标的唯一方法是从服务器发送请求。从服务器向服务器发出请求时,没有 CORS(它只存在于浏览器上)。