google-chrome-extension - 修改 Chrome 扩展程序的 HTTP 响应

标签 google-chrome-extension overriding httpresponse

是否可以创建一个修改 HTTP 响应正文的 Chrome 扩展程序?

我查看了 Chrome Extension APIs ,但我还没有找到任何可以做到这一点的东西。

最佳答案

一般来说,您无法使用标准 Chrome 扩展程序 API 更改 HTTP 请求的响应正文。

正在 104058: WebRequest API: allow extension to edit response body 请求此功能。给问题加注星标以获得更新通知。

如果您想编辑已知 XMLHttpRequest 的响应正文,inject code via a content script使用自定义(全功能)构造函数覆盖默认的 XMLHttpRequest 构造函数,该构造函数在触发真实事件之前重写响应。确保您的 XMLHttpRequest 对象完全符合 Chrome 的内置 XMLHttpRequest 对象,否则大量使用 AJAX 的网站将会崩溃。

在其他情况下,您可以使用 chrome.webRequestchrome.declarativeWebRequest用于将请求重定向到 data:-URI 的 API。与 XHR 方法不同,您不会获得请求的原始内容。实际上,请求永远不会到达服务器,因为重定向只能在发送实际请求之前完成。如果您重定向 main_frame 请求,用户将看到 data:-URI 而不是请求的 URL。

关于google-chrome-extension - 修改 Chrome 扩展程序的 HTTP 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18310484/

相关文章:

google-chrome-extension - 如何使用 Intellij IDE 调试 chrome 扩展?

javascript - 为什么 chromecast api 无法在 chrome 扩展中加载?

javascript - 没有右键单击 Chrome 扩展程序

java - 覆盖接口(interface)?

java - Java 中的 Scala 方法重写

java - 将每个请求的请求和响应以及 session ID 保存在文本文件中,REST API Spring Boot

java - Java 中的 HTTP 响应代码

java - 使用 java 检查通过代理发出的请求的状态代码

javascript - Chrome 标签焦点索引 API

java - 为什么在这里调用父类(super class)方法?