【问题标题】:How to handle the request in the electron app (capture request, serve custom response)如何处理电子应用程序中的请求(捕获请求,提供自定义响应)
【发布时间】:2020-01-03 06:21:17
【问题描述】:

我想处理来自电子应用程序中的网络应用程序的任何 API 请求。我的意图是保持与通过网络交付的 Web 应用程序相同的 API 调用将与作为独立电子应用程序交付时保持相同。在后者中,我将捕获 API 请求并提供本地创建的响应。可能吗?我正在研究通过session.defaultSession.webRequest 提供的WebRequest 回调,例如session.defaultSession.webRequest.onResponseStarted

编辑 02/01/2020 我还发现使用ProtocolAPI,但是我必须修改我想要拦截的API调用,以便在电子包装器中使用自定义协议,这不是我想要的(拦截请求并在电子上提供自定义响应)。

【问题讨论】:

    标签: electron webrequest


    【解决方案1】:

    您的 Web 应用程序在 Electron 中的运行与没有时一样 100%(*)。 (*) 是警告,在您的网络应用程序上投掷生产标志可能会带来其他副作用,这可能会造成混淆。

    仅仅因为 Electron 有自己的本地方式来处理某些事情,并不意味着 Electron 会阻止你按照迄今为止的方式做事。

    例如,我通过 JQuery 的 .ajax() 方法和 Sails.js 的 MVC 操作处理程序执行所有客户端-服务器操作。电子完全没有干扰。

    但是,如果您想要电子干扰,您可以这样做。请参阅WebRequest part of the Electron API。特别是页面上的第一个方法onBeforeRequest,似乎与您评论中提到的要求相关。

    【讨论】:

    • 感谢您的回答,但我确实希望电子干扰处理请求,因为我想拦截、读取和响应不是来自远程资源而是来自本地资源(但想保留同样的方式通过 API 请求)。
    猜你喜欢
    • 1970-01-01
    • 2021-12-02
    • 2015-04-22
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 2014-03-11
    • 2012-04-08
    相关资源
    最近更新 更多