查询阻止 CORS 的 API
Posted
技术标签:
【中文标题】查询阻止 CORS 的 API【英文标题】:Query an API which blocks CORS 【发布时间】:2017-09-17 13:43:05 【问题描述】:我有一个应用程序需要查询一个阻止跨域请求的 API。现在,我的方法是查询我的自己的 API,然后查询第 3 方 API,然后将结果转发到前端。所以基本上我已经设置了代理端点。
这会导致我想要避免的服务器上的额外负载。有没有办法可以直接从我的前端代码执行此操作,而后端没有代理端点?
例如,假设以下端点: https://fantasy.premierleague.com/drf/bootstrap-dynamic 如果你直接用它点击浏览器,它运行良好。但是当我使用说 Angular 2 http 从中获取响应时,它被阻止了。
【问题讨论】:
我认为您应该在托管该 API 的服务器上允许 CORS。 我无法控制那个 API。 拥有代理并不是一件坏事。在他们的GitHub page 页面上查看 Netflix Zuul 资源和故事参考,看看为什么有用。 【参考方案1】:有没有一种方法可以直接从我的前端代码执行此操作,而在后端没有代理端点?
没有。这就是禁用 CORS 的关键。如果您无法控制服务器禁用 CORS 或允许它用于运行您的应用程序的源服务器,那么您必须使用代理,方法是在为 vi 节点提供服务时设置代理或相应地配置 apache/nginx。
【讨论】:
以上是关于查询阻止 CORS 的 API的主要内容,如果未能解决你的问题,请参考以下文章
CORS 阻止来自 Dockerized React 项目的 API 调用
当我的 xmlhttprequest 被 CORS 阻止时,我如何连接 api [重复]
Ajax POST 到 Laravel API 偶尔会被 CORS 阻止