proxy
使用 proxy API 来代理 Web 请求。您可以使用 proxy.onRequest 事件监听器来拦截 Web 请求,并返回一个描述是否以及如何代理这些请求的对象。
proxy.onRequest 方法的优势在于,实现代理策略的代码运行在您扩展的后台脚本中,因此它拥有对您扩展可用的 WebExtension API 的完全访问权限(例如,可以访问您扩展的 storage 和网络 API,如 dns)。
除了此 API,扩展还可以使用 browserSettings.proxyConfig 属性来配置全局代理设置。
注意: Chrome、Edge 和 Opera 也有一个 也称为“proxy”的扩展 API,它在功能上与此 API 类似,扩展可以使用它来实现代理策略。然而,Chrome API 的设计与此 API 完全不同。由于此 API 与 Chrome 的 proxy API 不兼容,因此只能通过 browser 命名空间访问此 API。
要使用此 API,您需要拥有“proxy” 权限。此外,当您想要拦截请求时,还需要针对被拦截请求的 URL 拥有 主机权限。
“proxy”权限要求 "strict_min_version" 设置为“91.1.0”或更高版本。要使用此权限,请在您的 manifest.json 中添加或更新 "browser_specific_settings" 键,以指定最低 Firefox 版本。有关更多信息,请参阅 Securing the proxy API for Firefox add-ons。
注意: 浏览器可以进行推测性连接,它会预判即将发出的 URI 请求。这种类型的连接不提供有效的标签页信息,因此诸如 tabId、frameId、parentFrameId 等请求详情是不准确的。这些连接的 webRequest.ResourceType 为 speculative。
类型
proxy.ProxyInfo-
描述一个代理。
proxy.RequestDetails-
包含有关浏览器即将发出的 Web 请求的信息。
属性
proxy.settings-
获取和设置代理设置。
事件
proxy.onError-
当系统在运行 PAC 脚本或
onRequest监听器时遇到错误时触发。 proxy.onRequest-
当即将发出 Web 请求时触发,为扩展提供了代理它的机会。
扩展程序示例
浏览器兼容性
加载中…