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响应体 的相关文章

  • 在 Atom-shell 中禁用退格键

    我一直在搜索 interwebz 和 Atom shell 文档 试图找出如何禁用back 的功能backspace浏览器窗口中的键 我不想求助于 javascriptonkeydown监听器 有效 而是使用更本机的东西 更多地在应用程序级
  • 无法启动 Electron 应用程序 - 缺少 package.json

    我目前正在做一个 Python 项目 我想在 Electron 应用程序中显示我的结果 我在 YouTube 上看过一个关于如何在 Mac 上设置 Electron 的演示视频 该视频展示了在终端中执行的 3 个简单步骤 git clone
  • CSS“ch”单元的意外行为

    我正在使用ch用于指定宽度的 CSS 单位div包含文本 我使用的是等宽字体 但是 如果我设置width 80ch 我第一个得到 80 个字符n行 其中n始终是 24 不确定这是否重要 但从那时起只有 79 个字符 这如下面的屏幕截图所示
  • 在电子应用程序中从主程序到渲染器发出自定义事件

    所以我知道这是有效的 因为我尝试过 但它没有在任何地方记录 所以我问是否可以使用这种做法 而不用担心它将来会停止工作 众所周知 Electron 和 Nodejs 会破坏一个东西 版本到另一个 这就是我所说的练习类型 main js app
  • 无法打开目标 = 空白的 Electron webview 链接

    我正在使用 Electron 我有一个显示外部网站的 webview 但我无法成功显示通常由该网站上的链接打开且目标 blank 的附加窗口 a href mentions html target blank Mentions l gale
  • 处理来自 Electron (或其他桌面平台)的 oauth2 重定向

    这主要是缺乏对 oauth2 的理解 并且可能不是特定于 Electron 的 但是我试图理解某人如何处理来自桌面平台 如 Electron 的 oauth2 重定向 url 假设应用程序中没有 Web 服务设置 桌面应用程序如何提示用户输
  • Electron如何拦截http响应体

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

    我需要找到一种在 javascript 中打印收据的方法Electron 我已经尝试过了QZ TRAY但由于 Electron 它不起作用 我也尝试过节点热敏打印机但它也从来没有对我有用 这里有人知道如何在 javascript Elect
  • ElectronJS 捕获屏幕质量低

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

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

    假设多次调用以下函数来创建 BrowserWindow 例如 5 次 let mainWindow function createWindow use strict mainWindow new BrowserWindow height h
  • ElectronJS ReferenceError:导航器未定义

    我正在尝试在电子上制作自定义标题栏 但是当我启动我的应用程序时 我遇到了 ReferenceError 导航器未定义 问题 请帮忙 这是我的 main js 中的代码片段 My Codes https i stack imgur com c
  • 如何在电子中使用 import 或 require

    我正在尝试构建一个电子应用程序 我想从另一个js文件导入一些函数 但是在使用导入时我收到错误显示 不能在模块外部使用 import 语句 为什么会发生这种情况 我的代码是 eventsource js import sample from
  • 如何在 Electron 应用程序上获得圆角?

    我目前正在尝试在我正在制作的电子应用程序上获得圆角 我已经尝试了目前在线提供的几乎所有解决方案 但没有一个有任何区别 如何让 Electron 应用程序变得圆润 制作无框透明窗 const myWindow new BrowserWindo
  • 我可以在 Electron 应用程序中读取 webview 的 cookie 吗?

    当使用 WebView 元素在 Electron 应用程序中显示其他页面时 是否可以读取和写入其 cookie 是的你可以 通过会话访问cookie const session require electron remote Here we
  • 使用 Node.js 访问用 C++ 编写的 SDK

    我有一个用 C 语言编写的 SDK 可以与我的扫描仪设备进行通信 我需要开发一个可以访问扫描仪设备的电子应用程序 我知道有很多库可用于扫描仪 但我想使用这个 SDK 因为它允许我访问设备的完整功能 而且它是由设备制造商提供的 那么 有没有什
  • Electron:阻止/取消页面导航

    有没有办法阻止或取消电子中的页面导航 win webContents on did start loading function event url if event sender getURL startsWith http xyz ev
  • 使用 Electron 的多 Windows 应用程序结构

    I m developing a dashboard application my intention is to have multiple windows that can be customized by selecting pre
  • 使用 Electron 应用程序打包 Keytar

    我正在使用电子构建器 16 6 2 来打包我的电子应用程序 其中包括 keytar 3 0 2 作为产品依赖项 package json 文件包括 scripts postinstall install app deps compile d
  • process.stdout.on( 'data', ... ) 和 process.stderr.on( 'data', ... ) 的顺序

    我正在编写一个电子应用程序 该应用程序处理从电子内部执行的终端命令 我在执行时遇到了麻烦npm ls命令 从 cli 运行它时 依赖关系树会打印到 stdout 最后可能会出现一些来自 stderr 的警告 请参阅下面的屏幕截图 正确输出

随机推荐

  • 为什么这段 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