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 請求。這種型別的連線不提供有效的標籤頁資訊,因此諸如 tabIdframeIdparentFrameId 等請求詳情是不準確的。這些連線的 webRequest.ResourceTypespeculative

型別

proxy.ProxyInfo

描述一個代理。

proxy.RequestDetails

包含有關瀏覽器即將發出的 Web 請求的資訊。

屬性

proxy.settings

獲取和設定代理設定。

事件

proxy.onError

當系統在執行 PAC 指令碼或 onRequest 監聽器時遇到錯誤時觸發。

proxy.onRequest

當即將發出 Web 請求時觸發,為擴充套件提供了代理它的機會。

擴充套件程式示例

瀏覽器相容性