gpt4 book ai didi

node.js - 你如何在 Electron 应用程序中处理 CORS?

转载 作者:搜寻专家 更新时间:2023-10-31 22:49:08 28 4
gpt4 key购买 nike

我正在构建一个 Electron 应用程序,需要在 API 提供商未启用 CORS 的情况下调用 API。通常建议的解决方案是使用反向代理,这在通过使用 Node 和 cors-anywhere 在本地运行时很容易做到,如下所示:

let port = (process.argv.length > 2) ? parseInt (process.argv[2]) : 8080; 
require ('cors-anywhere').createServer ().listen (port, 'localhost');

然后可以将应用配置为通过 localhost:8080 上的反向代理代理所有请求。

所以,我的问题是:

  1. 是否可以在 electron 应用程序中使用 node 和 cors-anywhere 来创建反向代理?我不想强制应用程序调用远程服务器。

  2. 在 Electron 应用程序中是否有更好或标准的方法来执行此操作?我假设我不是第一个遇到 CORS 问题的人。 :)

最佳答案

在发送请求之前使用 webRequest.onBeforeSendHeaders 覆盖 header

const filter = {
urls: ['*://*.google.com/*']
};
const session = electron.remote.session
session.defaultSession.webRequest.onBeforeSendHeaders(filter, (details, callback) => {
details.requestHeaders['Origin'] = null;
details.headers['Origin'] = null;
callback({ requestHeaders: details.requestHeaders })
});

将这些代码放在渲染器进程中

关于node.js - 你如何在 Electron 应用程序中处理 CORS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51254618/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com