Electron如何拦截http响应体

2024-04-24

有什么办法可以拦截BrowserWindow主进程中的http响应主体没有调试器?

是否无法使用WebRequest类和onCompleted method?

我可以使用调试器做到这一点,但由于某种原因我不能使用它

await w.webContents.debugger.sendCommand('Network.enable')
  w.webContents.debugger.on('message', async (event, method, params) => {
    if (method === 'Network.dataReceived') {
      const responseBody = await w.webContents.debugger.sendCommand('Network.getResponseBody', {requestId: params.requestId})
    }
  })

UPD

我只找到一种解决方案debugger。它并不完美????,但它解决了我的问题。

Use webPreference.preload注入这个猴子补丁脚本。

let oldXHROpen = window.XMLHttpRequest.prototype.open;
window.XMLHttpRequest.prototype.open = function(method, url, async, user, password) {
 this.addEventListener('load', function() {
  console.log('data: ' + this.responseText);
 });

 return oldXHROpen.apply(this, arguments);
}

console.log可以用 ipc 替换来将此数据发送到主进程


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Electron如何拦截http响应体 的相关文章

  • 是否可以将远程文件从 Electron App 拖到文件系统上?

    我一直在尝试 Electron 应用程序的文件系统拖放功能 并且在使用本地文件进行所有操作时没有遇到任何问题 我在文档中没有遇到任何内容 所以我想看看是否有人知道这是否可能 我想使用 Electron 中的拖出功能将远程文件拖到应用程序之外
  • 与 Electron 相比,Chrome 应用程序有哪些优缺点?

    我想用 javascript 使用网络技术 编写一个桌面应用程序 并寻找 Electron 和 Chrome 应用程序之间的比较 我需要的一切似乎都可以通过 Chrome Apps 实现 但是 Electron NW js 周围有很大的宣传
  • 如何将 Prisma 与 Electron 结合使用

    我正在使用 Prisma sqlite DB 和 Electron Angular 应用程序 一切正常 直到我尝试创建记录 我在控制台中多次重复收到此错误 https i stack imgur com I0beD png 这是我的 sch
  • 如何解压 .asar 文件?

    我使用以下命令打包了我的 Electron 应用程序 asar pack app app asar 现在 我需要解压它并取回整个代码 有什么办法可以做到吗 来自阿萨尔文档 https github com electron asar 指某东
  • 找不到模块“./App.svelte”或其相应的类型声明

    我有一个将电子与 svelte 集成以及打字稿支持集成的设置 当我运行rollup编译 svelte 应用程序的脚本 我找不到模块 App svelte错误如下图所示 Plugin typescript rollup plugin type
  • setInterval 使用 Electron 一小时后停止

    希望有人能在这里指出我正确的方向 我的电子应用程序需要每 10 分钟左右执行一次 API 调用 目前 我在渲染器进程中使用 setInterval 循环来执行此操作 该循环每 10 分钟触发一次 它通常工作得很好 几个小时后似乎就停止了 我
  • Nodejs 模块“worker_threads”返回错误“错误:此 Node 实例使用的 V8 平台不支持创建 Workers”

    我正在创建一个应用程序 我需要停止一些代码 而不需要执行所有有问题的永远睡眠方法 或者在每个函数中创建一个 if 语句检查 stop 变量是否为真 所以我决定使用worker threads 但每次我使用它 我收到一个错误 错误 此 Nod
  • 是否可以使用 Selenium WebDriver 来自动化桌面应用程序?

    我正准备为目前处于开发初始阶段的 Web 桌面应用程序编写自动化测试 将使用的技术是 Laravel VueJS 和最重要的 Electron Framework Electron 是一个使用 JavaScript HTML 和 CSS 等
  • 如何在 Electron BrowserWindow 中查看 PDF?

    所以我有这个 Electron 应用程序 在一个 html 文件中 我链接了另一个脚本 该脚本为程序提供了一些实用功能 其中之一是 function openPDF filePath let pdfWindow new electron r
  • 在电子中创建多个预加载文件(每页一个)

    我正在创建我的第一个 Electron 应用程序 并且完成了表单的第一页 现在这个应用程序不是 SPA 所以我有大约 3 4 个不同的页面 并且页面通向另一个页面 为了允许正确的代码组织 我想为每个面向客户端的页面保留一个单独的预加载文件
  • 在电子应用程序中从主程序到渲染器发出自定义事件

    所以我知道这是有效的 因为我尝试过 但它没有在任何地方记录 所以我问是否可以使用这种做法 而不用担心它将来会停止工作 众所周知 Electron 和 Nodejs 会破坏一个东西 版本到另一个 这就是我所说的练习类型 main js app
  • Electron 构建应用程序无法启动 Express 服务器

    我正在构建一个应用程序 当我处于开发人员模式时一切正常 每件事都按其应有的方式运作 但是 当我使用电子构建器打包我的应用程序时 应用程序会打开 但它不会启动快速服务器 并且应用程序无法正常工作 这是我的 package json 代码 na
  • Electron如何拦截http响应体

    有什么办法可以拦截BrowserWindow主进程中的http响应主体没有调试器 是否无法使用WebRequest类和onCompleted method 我可以使用调试器做到这一点 但由于某种原因我不能使用它 await w webCon
  • Angular2 rc5 和 Electron 错误 - 无法使用解析组件

    我正在学习如何将 Angular2 与 Electron 一起使用 目前我正在使用最新的 Angular rc5 和最新版本的 Electron 我决定使用官方的 Angular 教程 英雄之旅 在我开始路由之前 我没有遇到什么大问题 我必
  • Electron 应用程序可以与 java 代码集成吗?

    由于node js仍然缺乏Java中存在的重要功能 因此我想使用Java而不是node js 并使用Web语言 html js css 创建客户端 Electron 是跨平台的 java 也是跨平台的 因此似乎有一个能够两全其美的解决方案
  • 电子应用程序的实时重新加载

    我想使用 VScode Gulp Electron 的组合来构建一个应用程序 开发工作流程的一个不错的功能是向我的 Gulp 监视任务添加实时重新加载任务 以便在每次更改时重新加载 Electron 应用程序 任何想法如何实现这一目标 非常
  • 具有桌面应用程序安全性的 OAuth2

    我有一个 Electron 应用程序 它基本上是一个 Google Drive 客户端 我打算使用 OAuth 2 但是 Google API 要求我在生成 client secret 的地方注册我的应用程序 由于这是一个桌面应用程序 因此
  • 警告:“沙箱”不在已知选项列表中,但仍传递给 Electron/Chromium

    我在用Linux Mint 20 and vscode 1 52 1 My xsession errors文件显示Warning sandbox is not in the list of known options but still p
  • ElectronJS 捕获屏幕质量低

    我正在使用 ElectronJS 测试屏幕捕获 我可以捕获屏幕 但捕获的视频质量低于原始视频 操作系统 Linux Mint 20 电子版本 11 1 0 这是我的代码 我选择我的屏幕 然后使用以下命令在电子应用程序中显示捕获的屏幕vide
  • Electron — 无法显示自定义图标

    我在以两种不同的方式设置 Electron 应用程序的图标时遇到问题 非打包 通过终端运行应用程序 我的 main js 确实指定了一个 图标 值 指向图标文件 但它不适用 包装 使用电子包装器 我的 package json 文件指定了

随机推荐

  • 为什么这段 C# 代码不起作用?我正在尝试将 shell 的输出读取到 TortoiseHG (Mercurial)

    我正在尝试让 Mercurial 在我的 C wpf 应用程序的 shell 中运行 我的目的是将输出检索到字符串中 以便我可以解析它 对我来说不幸的是 hg exe 来自 tortoiseHg 似乎不会通过下面的代码返回任何内容 其他 e
  • 如何在 Mac 上安装支持 GPU 的 TensorFlow?

    我的 MacBook Pro 没有 NVIDIA GPU 所以不可能运行CUDA 我想知道哪些早期版本的 TensorFlow 支持 Mac OS 的 GPU 我如何在 Anaconda 上安装 如上所述official https www
  • 时区显示值与给定时区的 GMT 偏移量?

    我想构建一个时区列表以显示给用户选择 显示名称必须类似于 GMT 5 30 India Standard Time Asia Calcutta 我正在使用所有时区TimeZone getAvailableIDs 并构建列表 我写的代码是 S
  • 初始化 C++ 向量的大小

    初始化 C 向量以及其他容器的大小有哪些优点 如果有 有什么理由不只使用默认的无参数构造函数吗 基本上 两者之间是否存在显着的性能差异 vector
  • 如何正确创建可通过http访问的SVN存储库? (在 public_html 内)?

    情况是这样的 subversion 已安装在服务器中 并且我可以访问服务器中的共享帐户之一 不是 root 并且该共享托管帐户具有 SSH 访问权限 我想创建一个存储库 我可以在其中提交我正在处理的 PHP 文件 当我提交时 它应该可以在浏
  • Fabric 消息太大

    我试图将 5MB 数据从服务传递给参与者 但收到错误 Fabric 消息太大 如何增加微服务之间可传输的最大大小 我看了以下内容page https github com Azure azure content blob master ar
  • ESS 在 Windows 上找不到 Rterm.exe

    我将 R 安装在名为 X alphaAndOmega R R 的目录中 所以Rterm exe 32位版本 位于 X alphaAndOmega R R bin i386 我知道它不是 标准 R 目录 并且 标准 R 目录 例如 R 3 0
  • 如何在没有设置器的情况下设置属性值

    我已经看到提出并回答了各种问题 我们可以使用反射来调用私有设置器 如下所示 是否可以通过反射获取属性的私有设置器 https stackoverflow com questions 9219261 is it possible to get
  • 现代 x86 硬件不能将单个字节存储到内存中吗?

    说到 C 的并发内存模型 Stroustrup 的C 编程语言 第 4 版 第 1 节 41 2 1 说 就像大多数现代硬件一样 机器无法加载或存储小于单词的任何内容 然而 我的 x86 处理器已经有几年的历史了 它可以并且确实存储小于单词
  • 将 JQuery getJSON 与包含的其他 JavaScript 一起使用会出现 ReferenceError

    我制作了一个小型 HTML 页面示例来使 JQuery 的 getJSON 方法正常工作 它如下所示 抱歉 草率了 这只是一个概念证明 稍后会添加到更大的项目中
  • 在三角形内强制图表 d3.js

    我正在研究 d3 js 力图 我有一个问题 是否可以在具有某些坐标的三角形内制作力图 这是我的代码 var width 500 var height 500 margin var marginLeft 10 var marginTop 10
  • 从矩阵中删除零行(优雅的方式)

    我有一个包含一些零行的矩阵 我想删除零行 矩阵是Nx3 我所做的很简单 我创造std vector其中每三个元素代表一行 然后我将其转换为Eigen MatrixXd 有没有一种优雅的方法来删除零行 include
  • 在 ncurses 中的指定位置添加相同符号的快捷方式是什么?

    我想添加str in ncurse屏幕 带坐标x 5 to 24 y 23 to 42 这是一个正方形 但我想不出一个简单的方法来做到这一点 我试过了 stdscr addstr range 23 42 range 5 24 但这行不通 它
  • 使用敏捷方法建造飞机? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 开发者可以从其他行业学到很多东西 作为一个思维练习 是否有可能使用敏捷技术建造一架客机 暂时忘记成本 对硬件 机身 机翼等 和软件进行迭代和增量
  • DYMOLA:opc 服务器如何使用 MATLAB 使用 dsin.txt 或 mat 文件进行初始化

    我在 DYMOLA 中创建了一个 OPC 服务器 现在我在 DYMOSIM 中有这个可以单击并初始化 使用 dsin txt 的 MAT 文件 现在我在 MATLAB 中创建了一个 GUI 文件 并获取变量的输入并创建了一个 mat 文件
  • 无法构建轮子 - 错误:无效命令“bdist_wheel”

    我已经尝试了这个非常相关的问题中的所有内容 为什么我无法在 python 中创建轮子 https stackoverflow com questions 26664102 why can i not create a wheel in py
  • postgresql自连接

    假设我有一张这样的桌子 id device cmd value id unique row ID device device identifier mac address cmd some arbitrary command value v
  • Rails:创建删除表级联迁移

    如何在 Rails 3 2 迁移中强制执行 DROP TABLE CASCADE 是否有一个选项可以传递给 drop table table name 在 Rails 4 中 您可以执行以下操作 drop table accounts fo
  • 如何使用在单击按钮上创建的用户触发图表中的放大和缩小?

    我正在构建一个角度应用程序 其中我们需要创建用于放大和缩小图表的单击按钮 我们可以使用可悬停模式栏上的按钮放大缩小图表 但这对于我们的应用程序来说不是必需的 我们希望使用通过单击按钮创建的用户来放大和缩小图表 有没有办法使用单击按钮触发可悬
  • Electron如何拦截http响应体

    有什么办法可以拦截BrowserWindow主进程中的http响应主体没有调试器 是否无法使用WebRequest类和onCompleted method 我可以使用调试器做到这一点 但由于某种原因我不能使用它 await w webCon