Postman(一个电子应用程序)如何绕过 CORS?

erl*_*rli 6 fetch cors postman electron

大多数人都知道,Postman 是用 Electron 制造的。但是,在尝试进行 API 调用时不会遇到 CORS 问题。但是,如果普通用户打包了一个使用 Fetch/XHR 进行 API 调用的简单电子应用程序,则它们将被具有 CORS 策略的端点阻止。我的问题是,Postman 如何解决这个问题,Electron 中是否有一个设置或标志可以让我自己的应用程序做同样的事情?我在这里这里读到“Postman 是一个开发工具”,但这不是一个深入的回应,因为 Postman 是一个 Electron 应用程序,理论上可以在 Chromium(又名浏览器)中运行。我很感激任何能够在这个主题上取得进展的人!

ghy*_*ybs 6

别忘了electron不仅仅是Chromium,还打包了一个Node.js。这也可以发出 HTTP 请求。没有任何同源政策,因此没有 CORS 限制。

我怀疑 Postman 实际上从它的 Node 部分(主进程)执行 HTTP 请求。

  • 我使用了“request”,但你也可以使用“http”。我首先[询问主流程](https://github.com/CorySanin/Kitten-for-CSGO/blob/f9435fc8f8bb54f9407a4274aaa5ee3cd1f3fbd0/server.js#L244)来执行请求。然后我[使用请求并发回相关数据](https://github.com/CorySanin/Kitten-for-CSGO/blob/f9435fc8f8bb54f9407a4274aaa5ee3cd1f3fbd0/main.js#L162)。然后我可以[监听渲染器中的响应](https://github.com/CorySanin/Kitten-for-CSGO/blob/f9435fc8f8bb54f9407a4274aaa5ee3cd1f3fbd0/server.js#L306)(又名镀铬窗口)。 (3认同)

Ash*_*ish 5

您可以禁用 Electron (Chromium) 上的网络安全。这将使您能够绕过 CORS。

/sf/answers/3901904401/ https://github.com/electron/electron/issues/23664#issuecomment-631674094