proxy
Verwenden Sie die proxy-API, um Webanfragen zu proxieren. Sie können den proxy.onRequest
-Ereignislistener verwenden, um Webanfragen abzufangen und ein Objekt zurückzugeben, das beschreibt, ob und wie sie zu proxieren sind.
Der Vorteil des Ansatzes mit proxy.onRequest
besteht darin, dass der Code, der Ihre Proxy-Richtlinie implementiert, im Hintergrundskript Ihrer Erweiterung ausgeführt wird. So hat er vollen Zugriff auf die WebExtension-APIs, die Ihrer Erweiterung zur Verfügung stehen (einschließlich beispielsweise Zugriff auf den storage
-API Ihrer Erweiterung und Netzwerk-APIs wie dns
).
Abgesehen von dieser API können Erweiterungen auch die Eigenschaft browserSettings.proxyConfig
verwenden, um globale Proxy-Einstellungen zu konfigurieren.
Hinweis:
Chrome, Edge und Opera haben eine Erweiterungs-API, die ebenfalls "proxy" genannt wird, die funktional dieser API ähnlich ist, da Erweiterungen damit eine Proxy-Richtlinie implementieren können. Das Design der Chrome-API ist jedoch komplett anders als diese API. Da diese API mit der Chrome proxy
API inkompatibel ist, ist sie nur über den browser
-Namensraum verfügbar.
Um diese API zu nutzen, benötigen Sie die "proxy"-Berechtigung. Weiterhin benötigen Sie auch Host-Berechtigung für die URLs der abgefangenen Anfragen, wenn Sie Anfragen abfangen möchten.
Die "proxy"-Berechtigung erfordert, dass "strict_min_version"
auf "91.1.0" oder höher gesetzt ist. Um diese Berechtigung zu verwenden, fügen Sie den Schlüssel "browser_specific_settings"
zu Ihrer manifest.json hinzu oder aktualisieren Sie ihn, um eine minimale Firefox-Version anzugeben. Weitere Informationen finden Sie unter Securing the proxy API for Firefox add-ons.
Hinweis:
Der Browser kann spekulative Verbindungen herstellen, bei denen er feststellt, dass eine Anfrage an eine URI möglicherweise bald kommt. Diese Art von Verbindung liefert keine gültigen Tab-Informationen, sodass Anfragedetails wie tabId
, frameId
, parentFrameId
usw. ungenau sind. Diese Verbindungen haben einen webRequest.ResourceType
-Wert von speculative
.
Typen
proxy.ProxyInfo
-
Beschreibt einen Proxy.
proxy.RequestDetails
-
Enthält Informationen über eine Webanfrage, die der Browser ausführen möchte.
Eigenschaften
proxy.settings
-
Proxy-Einstellungen abrufen und setzen.
Ereignisse
proxy.onError
-
Wird ausgelöst, wenn das System einen Fehler beim Ausführen des PAC-Skripts oder des
onRequest
-Listeners feststellt. proxy.onRequest
-
Wird ausgelöst, wenn eine Webanfrage gestellt werden soll, wodurch die Erweiterung die Möglichkeit erhält, sie zu proxieren.
Beispielerweiterungen
Browser-Kompatibilität
BCD tables only load in the browser