proxy
使用 proxy API 代理 Web 请求。你可以使用 proxy.onRequest 事件监听器拦截 Web 请求,并返回一个对象,说明是否以及如何代理这些请求。
proxy.onRequest 这种方式的好处是:实现代理策略的代码运行在扩展的后台脚本中,因此可以完整使用扩展可用的 WebExtension API(例如扩展的 storage 和 dns 这类网络 API)。
除了本 API,扩展还可以使用 browserSettings.proxyConfig 属性配置全局代理设置。
备注:Chrome、Edge 和 Opera 也有一个同样名为“proxy”的扩展 API,功能上与本 API 类似,扩展可以用它实现代理策略。不过 Chrome 的 API 与本 API 完全不同。
要使用本 API,你需要拥有“proxy”权限。另外,若要拦截请求,还需要对被拦截请求的 URL 拥有主机权限。
“proxy”权限要求将 "strict_min_version" 设为“91.1.0”或更高。要使用此权限,请在 manifest.json 中添加或更新 "browser_specific_settings" 键,以指定最低 Firefox 版本。更多信息见为 Firefox 附加组件加固 proxy API。
备注:浏览器可以进行推测性连接,即判定某个 URI 的请求可能即将到来。这类连接不提供有效的标签页信息,因此 tabId、frameId、parentFrameId 等请求详情并不准确。这些连接的 webRequest.ResourceType 为 speculative。
类型
proxy.ProxyInfo-
描述一个代理。
proxy.RequestDetails-
包含浏览器即将发出的 Web 请求的信息。
属性
proxy.settings-
获取和设置代理设置。
事件
proxy.onError-
系统在运行 PAC 脚本或
onRequest监听器时出错时触发。 proxy.onRequest-
即将发出 Web 请求时触发,让扩展有机会代理该请求。