Clase: WebRequest
Clase: WebRequest
Interceptar y modificar el contenido de una solicitud en varias etapas de su ciclo de vida.
Proceso: Main
Esta clase no está exportada desde el módulo 'electron'
. Sólo está disponible como un valor de retorno de otros métodos en la API de Electron.
Instancias de la clase WebRequest
son accesibles usando la propiedad webRequest
de una Session
.
Los métodos de WebRequest
aceptan un filter
opcional y un listener
. El listener
será cancelado con listener(details)
cuando el evento de API haya pasado. El objeto details
describe la solicitud.
⚠️ Sólo se utilizará el último listener
adjunto. Pasar null
como listener
hará que se desubscriba del evento.
El objeto filter
tiene una propiedad urls
que es un arreglo de patrones URL que serán usados para filtrar las solicitudes que no coincidan con los patrones de URL. Si el filtro
es omitido todas las solicitudes serán atendidas.
Para ciertos eventos el listener
es pasado con una callback
, Que debe ser llamada con un objeto response
cuando el listener
haya hecho su trabajo.
Un ejemplo de añadir encabezados User-Agent
a las solicitudes:
const { session } = require('electron')
// Modify the user agent for all requests to the following 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 })
})
Métodos de Instancia
Lo siguientes métodos están disponibles en instancias de WebRequest
:
webRequest.onBeforeRequest([filter, ]listener)
filter
WebRequestFilter (opcional)listener
Function | nulldetails
Objectid
Íntegrourl
stringmethod
stringwebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
string - Puede sermainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
oother
.referrer
stringfecha y hora
DobleuploadData
UploadData[]
callback
Functionresponse
Objectcancelar
booleano (opcional)Redireccionar URL
cadena (opcional) - La solicitud original está prevenida de ser enviada o completada y en vez de eso es redireccionada a una URL dada.
El oyente
Será cancelado con listener(details)
cuando la redirección del servidor esté por ocurrir.
Los buttons
es un arreglo de objetos Button
.
The callback
has to be called with an response
object.
Algunos ejemplos de urls
válidas:
'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 (opcional)listener
Function | nulldetails
Objectid
Íntegrourl
stringmethod
stringwebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
string - Puede sermainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
oother
.referrer
stringfecha y hora
DobleuploadData
UploadData[] (opcional)requestHeaders
Record<string, string>
callback
FunctionbeforeSendResponse
Objectcancelar
booleano (opcional)requestHeaders
Record<string, string | string[]> (optional) - When provided, request will be made with these headers.
El oyente
se llamará con listener(details, callback)
Antes de enviar la solicitud HTTP, una vez que los encabezados de las solicitudes estén disponibles. Esto puede ocurrir después de que se realiza una conexión TCP al servidor, pero antes de que se envíe cualquier información http.
El callback
ha de ser llamado con un objeto response
.
webRequest.onSendHeaders([filter, ]listener)
filter
WebRequestFilter (opcional)listener
Function | nulldetails
Objectid
Íntegrourl
stringmethod
stringwebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
string - Puede sermainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
oother
.referrer
stringfecha y hora
DoblerequestHeaders
Record<string, string>
Eloyente
Será llamado con listener(details)
justo antes que una solicitud vaya a ser enviada al servidor, modificaciones de previas respuestas onBeforeSendHeaders
son visibles en el momento que este oyente esté en funcionamiento.
webRequest.onHeadersReceived([filter, ]listener)
filter
WebRequestFilter (opcional)listener
Function | nulldetails
Objectid
Íntegrourl
stringmethod
stringwebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
string - Puede sermainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
oother
.referrer
stringfecha y hora
Doblelinea de estatus
cadenaEstatus de código
enteroresponseHeaders
Record<string, string[]> (optional)
callback
FunctionheadersReceivedResponse
Objectcancelar
booleano (opcional)responseHeaders
Record<string, string | string[]> (optional) - When provided, the server is assumed to have responded with these headers.Linea de estatus
cadena (opcional) - Se proveerá al reemplazar elencabezado de respuesta
para cambiar el estatus del encabezado, de otra manera el estatus original del encabezado de respuesta será usado.
El oyente
será cancelado con listener(details, callback)
cuando la respuesta HTTP de los encabezados de de una solicitud hayan sido recibidos.
El callback
ha de ser llamado con un objeto response
.
webRequest.onResponseStarted([filter, ]listener)
filter
WebRequestFilter (opcional)listener
Function | nulldetails
Objectid
Íntegrourl
stringmethod
stringwebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
string - Puede sermainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
oother
.referrer
stringfecha y hora
DobleresponseHeaders
Record<string, string[]> (optional)Desde Cache
booleano - Indica cuando al respuesta fue obtenida desde la memoria caché.Estatus de código
enterolinea de estatus
cadena
El oyente
será cancelado con listener(details)
cuando se reciba el primer byte del cuerpo de la respuesta. Para las solicitudes HTTP, esto significa que la línea de estado y los encabezados de respuesta están disponibles.
webRequest.onBeforeRedirect([filter, ]listener)
filter
WebRequestFilter (opcional)listener
Function | nulldetails
Objectid
Íntegrourl
stringmethod
stringwebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
string - Puede sermainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
oother
.referrer
stringfecha y hora
DobleredirectURL
stringEstatus de código
enterolinea de estatus
cadenaip
cadena (opcional) - La dirección IP del servidor al cual fue enviada en realidad la solicitud.Desde cache
booleanoresponseHeaders
Record<string, string[]> (optional)
El oyente
Será cancelado con listener(details)
cuando la redirección del servidor esté por ocurrir.
webRequest.onCompleted([filter, ]listener)
filter
WebRequestFilter (opcional)listener
Function | nulldetails
Objectid
Íntegrourl
stringmethod
stringwebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
string - Puede sermainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
oother
.referrer
stringfecha y hora
DobleresponseHeaders
Record<string, string[]> (optional)Desde cache
booleanoEstatus de código
enterolinea de estatus
cadenaerror
string
El listener
será llamado con listener(details)
cuando una petición es completada.
webRequest.onErrorOccurred([filter, ]listener)
filter
WebRequestFilter (opcional)listener
Function | nulldetails
Objectid
Íntegrourl
stringmethod
stringwebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
string - Puede sermainFrame
,subFrame
,stylesheet
,script
,image
,font
,object
,xhr
,ping
,cspReport
,media
,webSocket
oother
.referrer
stringfecha y hora
DobleDesde cache
booleanoerror
cadena - la descripción del error.
El oyente
será cancelado con listener(details)
cuando ocurra un error.