Class: WebRequest
Class: WebRequest
Intercept and modify the contents of a request at various stages of its lifetime.
Process: Main
This class is not exported from the 'electron' module. Es ist nur als Rückgabewert anderer Methoden in der Electron-API verfügbar.
Instances of the WebRequest class are accessed by using the webRequest property of a Session.
The methods of WebRequest accept an optional filter and a listener. The listener will be called with listener(details) when the API's event has happened. The details object describes the request.
⚠️ Only the last attached listener will be used. Passing null as listener will unsubscribe from the event.
The filter object has a urls property which is an Array of URL patterns that will be used to filter out the requests that do not match the URL patterns. If the filter is omitted then all requests will be matched.
For certain events the listener is passed with a callback, which should be called with a response object when listener has done its work.
Ein Beispiel zum hinzufügen von User-Agent Headern für Requests:
const { session } = require('electron')
// Modifiziert den user agent für alle requests zu den folgenden Urls.
const filter = {
urls: ['https://*.github.com/*', '*://electron.github.io/*']
}
session.defaultSession.webRequest.onBeforeSendHeaders(filter, (details, callback) => {
details.requestHeaders['User-Agent'] = 'MyAgent'
callback({ requestHeaders: details.requestHeaders })
})
Beispiel Methoden
Die folgenden Methoden sind verfügbar in Instanzen von WebRequest:
webRequest.onBeforeRequest([filter, ]listener)
filterWebRequestFilter (optional)listenerFunction | nulldetailsObjektidIntegerurlstringmethodstringwebContentsIdInteger (optional)webContentsWebContents (optional)frameWebFrameMain | null (optional) - Requesting frame. May benullif accessed after the frame has either navigated or been destroyed.resourceTypestring - Can bemainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketorother.referrerstringtimestampDoubleuploadDataUploadData[]
callbackFunctionresponseObjectcancelboolean (optional)redirectURLstring (optional) - The original request is prevented from being sent or completed and is instead redirected to the given URL.
The listener will be called with listener(details, callback) when a request is about to occur.
uploadData ist ein Array mit UploadData Objekten.
Der callback muss aufgerufen werden mit einem response Objekt.
Some examples of valid urls:
'<all_urls>'
'http://foo:1234/'
'http://foo.com/'
'http://foo:1234/bar'
'*://*/*'
'*://example.com/*'
'*://example.com/foo/*'
'http://*.foo:1234/'
'file://foo:1234/bar'
'http://foo:*/'
'*://www.foo.com/'
webRequest.onBeforeSendHeaders([filter, ]listener)
filterWebRequestFilter (optional)listenerFunction | nulldetailsObjektidIntegerurlstringmethodstringwebContentsIdInteger (optional)webContentsWebContents (optional)frameWebFrameMain | null (optional) - Requesting frame. May benullif accessed after the frame has either navigated or been destroyed.resourceTypestring - Can bemainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketorother.referrerstringtimestampDoubleuploadDataUploadData[] (optional)requestHeadersRecord<string, string>
callbackFunctionbeforeSendResponseObjectcancelboolean (optional)requestHeadersRecord<string, string | string[]> (optional) - When provided, request will be made with these headers.
The listener will be called with listener(details, callback) before sending an HTTP request, once the request headers are available. This may occur after a TCP connection is made to the server, but before any http data is sent.
The callback has to be called with a response object.
webRequest.onSendHeaders([filter, ]listener)
filterWebRequestFilter (optional)listenerFunction | nulldetailsObjektidIntegerurlstringmethodstringwebContentsIdInteger (optional)webContentsWebContents (optional)frameWebFrameMain | null (optional) - Requesting frame. May benullif accessed after the frame has either navigated or been destroyed.resourceTypestring - Can bemainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketorother.referrerstringtimestampDoublerequestHeadersRecord<string, string>
The listener will be called with listener(details) just before a request is going to be sent to the server, modifications of previous onBeforeSendHeaders response are visible by the time this listener is fired.
webRequest.onHeadersReceived([filter, ]listener)
filterWebRequestFilter (optional)listenerFunction | nulldetailsObjektidIntegerurlstringmethodstringwebContentsIdInteger (optional)webContentsWebContents (optional)frameWebFrameMain | null (optional) - Requesting frame. May benullif accessed after the frame has either navigated or been destroyed.resourceTypestring - Can bemainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketorother.referrerstringtimestampDoublestatusLinestringstatusCodeIntegerresponseHeadersRecord<string, string[]> (optional)
callbackFunctionheadersReceivedResponseObjectcancelboolean (optional)responseHeadersRecord<string, string | string[]> (optional) - When provided, the server is assumed to have responded with these headers.statusLinestring (optional) - Should be provided when overridingresponseHeadersto change header status otherwise original response header's status will be used.
The listener will be called with listener(details, callback) when HTTP response headers of a request have been received.
The callback has to be called with a response object.
webRequest.onResponseStarted([filter, ]listener)
filterWebRequestFilter (optional)listenerFunction | nulldetailsObjektidIntegerurlstringmethodstringwebContentsIdInteger (optional)webContentsWebContents (optional)frameWebFrameMain | null (optional) - Requesting frame. May benullif accessed after the frame has either navigated or been destroyed.resourceTypestring - Can bemainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketorother.referrerstringtimestampDoubleresponseHeadersRecord<string, string[]> (optional)fromCacheboolean - Indicates whether the response was fetched from disk cache.statusCodeIntegerstatusLinestring
The listener will be called with listener(details) when first byte of the response body is received. For HTTP requests, this means that the status line and response headers are available.
webRequest.onBeforeRedirect([filter, ]listener)
filterWebRequestFilter (optional)listenerFunction | nulldetailsObjektidIntegerurlstringmethodstringwebContentsIdInteger (optional)webContentsWebContents (optional)frameWebFrameMain | null (optional) - Requesting frame. May benullif accessed after the frame has either navigated or been destroyed.resourceTypestring - Can bemainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketorother.referrerstringtimestampDoubleredirectURLstringstatusCodeIntegerstatusLinestringipstring (optional) - Die Server IP Adresse an den der Request ursprünglich gesendet wurde.fromCachebooleanresponseHeadersRecord<string, string[]> (optional)
The listener will be called with listener(details) when a server initiated redirect is about to occur.
webRequest.onCompleted([filter, ]listener)
filterWebRequestFilter (optional)listenerFunction | nulldetailsObjektidIntegerurlstringmethodstringwebContentsIdInteger (optional)webContentsWebContents (optional)frameWebFrameMain | null (optional) - Requesting frame. May benullif accessed after the frame has either navigated or been destroyed.resourceTypestring - Can bemainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketorother.referrerstringtimestampDoubleresponseHeadersRecord<string, string[]> (optional)fromCachebooleanstatusCodeIntegerstatusLinestringerrorzeichenkette
The listener will be called with listener(details) when a request is completed.
webRequest.onErrorOccurred([filter, ]listener)
filterWebRequestFilter (optional)listenerFunction | nulldetailsObjektidIntegerurlstringmethodstringwebContentsIdInteger (optional)webContentsWebContents (optional)frameWebFrameMain | null (optional) - Requesting frame. May benullif accessed after the frame has either navigated or been destroyed.resourceTypestring - Can bemainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketorother.referrerstringtimestampDoublefromCachebooleanerrorstring - The error description.
The listener will be called with listener(details) when an error occurs.