Classe : WebRequest
Classe : WebRequest
Intercepte et modifie le contenu d'une requête à différents stades de son existence.
Processus : Principal
Cette classe n'est pas exportée depuis le module 'electron'
. Elle n'est disponible qu'en tant que valeur de retour des autres méthodes dans l'API Electron.
Les instances de la classe WebRequest
sont accessibles à l'aide de la propriété WebRequest
d'une Session
.
Les méthodes de WebRequest
peuvent de manière facultative recevoir un filter
et un listener
. Le listener
va être appelé par listener(details)
quand l'événement de l'API est émis. L'objet details
représente la requête.
⚠️ Seul le dernier listener
associé sera utilisé. Le passage de null
en tant que listener
annulera l'abonnement à l'événement.
L'objet filter
possède une propriété url
qui est un tableau de modèles d'URL qui seront utilisés pour filtrer les requêtes qui ne satisfont pas aux modèles. Si filter
est omis, toutes les requêtes seront jugées comme conformes.
Pour certains événements, le listener
est passé accompagné d'une callback
, qui doit appelée avec un objet response
lorsque le listener
a fini son travail.
Exemple d'ajout de l'en-tête User-Agent
pour les requêtes :
const { session } = require('electron')
// Modifie le user agent pour toutes les requêtes concernant les url indiquées.
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 })
})
Méthodes d’instance
Les méthodes suivantes sont disponibles pour les instances de WebRequest
:
webRequest.onBeforeRequest([filter, ]listener)
filter
WebRequestFilter (facultatif)listener
Function | null- Objet
details
id
Integerurl
stringmethod
stringwebContentsId
Integer (facultatif)webContents
WebContents (facultatif)frame
WebFrameMain (facultatif)resourceType
string - Peut prendre une des valeurs suivantesmainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
ouother
.referrer
stringtimestamp
DoubleuploadData
UploadData[]
callback
Function- Objet
response
cancel
boolean)redirectURL
string (facultatif) - Empêche la requête originale d'être envoyée ou complétée, à la place, celle ci est redirigée vers l'URL donnée.
- Objet
- Objet
Le listener
sera appelé par listener(details, callback)
lorsqu'une requête est sur le point de se produire.
uploadData
est un tableau d'objets UploadData
.
La callback
doit être appelé avec un objet response
.
Exemples d'urls
valides :
'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)
filter
WebRequestFilter (facultatif)listener
Function | null- Objet
details
id
Integerurl
stringmethod
stringwebContentsId
Integer (facultatif)webContents
WebContents (facultatif)frame
WebFrameMain (facultatif)resourceType
string - Peut prendre une des valeurs suivantesmainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
ouother
.referrer
stringtimestamp
DoubleuploadData
UploadData[] (facultatif)- Enregistrement
requestHeaders
<string, string>
callback
Function- Objet
beforeSendResponse
cancel
boolean)requestHeaders
Record<string, string | string[]> (optional) - When provided, request will be made with these headers.
- Objet
- Objet
Le listener
sera appelé par listener(details, callback)
avant d’envoyer une requête HTTP, et une fois que les en-têtes de requête sont disponibles. Cela peut se produire après une connexion TCP au serveur, mais avant que des données http ne soient envoyées.
La callback
doit être appelée avec un objet response
.
webRequest.onSendHeaders([filter, ]listener)
filter
WebRequestFilter (facultatif)listener
Function | null- Objet
details
id
Integerurl
stringmethod
stringwebContentsId
Integer (facultatif)webContents
WebContents (facultatif)frame
WebFrameMain (facultatif)resourceType
string - Peut prendre une des valeurs suivantesmainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
ouother
.referrer
stringtimestamp
Double- Enregistrement
requestHeaders
<string, string>
- Objet
Le listener
sera appelé par listener(details)
juste avant qu'une requête ne soit envoyée au serveur, les modifications de la réponse onBeforeSendHeaders
précédente sont visibles au moment où l'écouteur est déclenché.
webRequest.onHeadersReceived([filter, ]listener)
filter
WebRequestFilter (facultatif)listener
Function | null- Objet
details
id
Integerurl
stringmethod
stringwebContentsId
Integer (facultatif)webContents
WebContents (facultatif)frame
WebFrameMain (facultatif)resourceType
string - Peut prendre une des valeurs suivantesmainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
ouother
.referrer
stringtimestamp
DoublestatusLine
stringstatusCode
IntegerresponseHeaders
Record<string, string[]> (facultatif)
callback
Function- Objet
headersReceivedResponse
cancel
boolean)responseHeaders
Recordstring, string | string[] (facultatif) - Lorsque fourni, le serveur est supposé avoir répondu avec ces en-têtes.statusLine
string (optionelle) - Doit être fourni lorsque vous remplacezresponseHeaders
pour changer le statut de l'en-tête sinon le statut de l'en-tête de la réponse originale sera utilisé.
- Objet
- Objet
Le listener
sera appelé par listener(details, callback)
à la réception des en-têtes de réponse HTTP de la requête.
La callback
doit être appelée avec un objet response
.
webRequest.onResponseStarted([filter, ]listener)
filter
WebRequestFilter (facultatif)listener
Function | null- Objet
details
id
Integerurl
stringmethod
stringwebContentsId
Integer (facultatif)webContents
WebContents (facultatif)frame
WebFrameMain (facultatif)resourceType
string - Peut prendre une des valeurs suivantesmainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
ouother
.referrer
stringtimestamp
DoubleresponseHeaders
Record<string, string[]> (facultatif)fromCache
booléen - Indique si la réponse a été extraite du cache disque.statusCode
IntegerstatusLine
string
- Objet
Le listener
sera appelé par listener(details)
lors de la réception du premier octet de la réponse. Pour les requêtes HTTP, cela signifie que la ligne de statut et les en-têtes de réponse sont disponibles.
webRequest.onBeforeRedirect([filter, ]listener)
filter
WebRequestFilter (facultatif)listener
Function | null- Objet
details
id
Integerurl
stringmethod
stringwebContentsId
Integer (facultatif)webContents
WebContents (facultatif)frame
WebFrameMain (facultatif)resourceType
string - Peut prendre une des valeurs suivantesmainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
ouother
.referrer
stringtimestamp
DoubleredirectURL
stringstatusCode
IntegerstatusLine
stringip
string (optionelle) - L'adresse IP du serveur à laquelle la requête a été effectivement envoyée.fromCache
booleanresponseHeaders
Record<string, string[]> (facultatif)
- Objet
Le listener
sera appelé par listener(details)
lorsqu'une redirection initiée par le serveur va se produire.
webRequest.onCompleted([filter, ]listener)
filter
WebRequestFilter (facultatif)listener
Function | null- Objet
details
id
Integerurl
stringmethod
stringwebContentsId
Integer (facultatif)webContents
WebContents (facultatif)frame
WebFrameMain (facultatif)resourceType
string - Peut prendre une des valeurs suivantesmainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
ouother
.referrer
stringtimestamp
DoubleresponseHeaders
Record<string, string[]> (facultatif)fromCache
booleanstatusCode
IntegerstatusLine
stringerror
string
- Objet
Le listener
sera exécuté par listener(details)
lorsqu'une requète est complétée.
webRequest.onErrorOccurred([filter, ]listener)
filter
WebRequestFilter (facultatif)listener
Function | null- Objet
details
id
Integerurl
stringmethod
stringwebContentsId
Integer (facultatif)webContents
WebContents (facultatif)frame
WebFrameMain (facultatif)resourceType
string - Peut prendre une des valeurs suivantesmainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
ouother
.referrer
stringtimestamp
DoublefromCache
booleanerror
string - La description de l'erreur.
- Objet
Le listener
sera appelé par listener(details)
lorsqu'une erreur se produit.