首页 > 解决方案 > 是否有任何 CORS 解决方法而无需在 Javascript 中更改服务器端?

问题描述

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

标签: javascriptreactjscorsmedia-playervideo.js

解决方案


简答

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

长答案

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

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

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

唯一的办法

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

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


推荐阅读