如何创建代理来访问外部 API? [复制]
Posted
技术标签:
【中文标题】如何创建代理来访问外部 API? [复制]【英文标题】:How to create a proxy to access an external API? [duplicate] 【发布时间】:2019-09-08 02:37:56 【问题描述】:我正在尝试使用我的 react 应用程序访问 API。具体来说,我正在尝试访问 IGDB API。由于我遇到了 CORS 错误,因此我正在尝试按照他们网站上的说明设置代理:https://api-docs.igdb.com/#cors-for-js-ionic
我无法设置此代理来绕过它。像 AnyProxy 这样的东西会起作用吗?
【问题讨论】:
您是否尝试在开发环境中访问外部 API?如果你是,你可以在你的 package.json 中添加一个代理字段,这样可以避免 CORS 问题。在这里找到更多信息 - facebook.github.io/create-react-app/docs/… 我会在这个代理参数下放置什么域?我正在尝试访问api-v3.igdb.com/games 【参考方案1】:这个问题把我逼疯了。我决定CORS Anywhere. 本质上,您将它用作您的开发环境和您尝试使用的公共 API 之间的网关。对我来说:https://cors-anywhere.herokuapp.com/https://api-v3.igdb.com/games/?search=Halo
是我的错误的解决方案。
【讨论】:
我拒绝相信这是唯一的解决方案。疯了! 此方法存在安全风险,因为它是公开的【参考方案2】:在此处扩展我对代理的评论以获得更好的视图。
这是一个可能看起来如何的示例。
package.json
"proxy": "http://api-v3.igdb.com"
fetch.js
function fetchGames()
fetch('/games')
【讨论】:
每当我这样做时,它仍然会尝试通过localhost:3000
发送邮件
你尝试过重建你的项目吗?
@Lewis 你的问题解决了吗?
嗨,肖恩,感谢您的回复。我的解决方案是在任何地方使用 cors-anywhere。这样我就很容易在开发中进行测试。以上是关于如何创建代理来访问外部 API? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 JSONP 或 HTTP 代理访问 Rally REST API 的 JSON 响应?