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 請求時觸發,為擴充套件提供了代理它的機會。
擴充套件程式示例
瀏覽器相容性
載入中…