Interceptar y modificar el contenido de una solicitud en varias etapas de su vida.
Proceso: Principal
Ejemplos de la WebRequest
se accede a la clase mediante el webRequest
propiedad de un Session
.
Los métodos de WebRequest
aceptar un opcional filter
y un listener
. los listener
será llamado con listener(details)
cuando ha ocurrido el evento de la API. los details
objeto describe la solicitud.
⚠️ Solo el último adjunto listener
se utilizará. Paso null
como listener
se dará de baja del evento.
los filter
el objeto tiene un urls
propiedad que es una matriz de patrones de URL que se utilizará para filtrar las solicitudes que no coinciden con los patrones de URL. Si el filter
se omite, todas las solicitudes coincidirán.
Para ciertos eventos el listener
se pasa con un callback
, que debe llamarse con un response
objeto cuando listener
ha hecho su trabajo.
Un ejemplo de agregar User-Agent
encabezado para 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
Los siguientes métodos están disponibles en instancias de WebRequest
:
webRequest.onBeforeRequest([filter, ]listener)
filter
Objeto (opcional)urls
Cuerda[] – Matriz de patrones de URL que se utilizarán para filtrar las solicitudes que no coinciden con los patrones de URL.
listener
Función | nulldetails
Objetoid
Enterourl
Cuerdamethod
CuerdawebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
Cuerdareferrer
Cuerdatimestamp
DobleuploadData
Subir datos[]
callback
Funciónresponse
Objetocancel
Booleano (opcional)redirectURL
Cadena (opcional): se evita que la solicitud original se envíe o se complete y, en su lugar, se redirige a la URL proporcionada.
los listener
será llamado con listener(details, callback)
cuando una solicitud está a punto de ocurrir.
los uploadData
es un array de UploadData
objetos.
los callback
tiene que ser llamado con un response
objeto.
Algunos ejemplos de válidos 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)
filter
Objeto (opcional)urls
Cuerda[] – Matriz de patrones de URL que se utilizarán para filtrar las solicitudes que no coinciden con los patrones de URL.
listener
Función | nulldetails
Objetoid
Enterourl
Cuerdamethod
CuerdawebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
Cuerdareferrer
Cuerdatimestamp
DoblerequestHeaders
Registro
callback
FunciónbeforeSendResponse
Objetocancel
Booleano (opcional)requestHeaders
Registro(opcional): cuando se proporcione, la solicitud se realizará con estos encabezados.
los listener
será llamado con listener(details, callback)
antes de enviar una solicitud HTTP, una vez que los encabezados de la solicitud estén disponibles. Esto puede ocurrir después de que se establezca una conexión TCP con el servidor, pero antes de que se envíen datos http.
los callback
tiene que ser llamado con un response
objeto.
webRequest.onSendHeaders([filter, ]listener)
filter
Objeto (opcional)urls
Cuerda[] – Matriz de patrones de URL que se utilizarán para filtrar las solicitudes que no coinciden con los patrones de URL.
listener
Función | nulldetails
Objetoid
Enterourl
Cuerdamethod
CuerdawebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
Cuerdareferrer
Cuerdatimestamp
DoblerequestHeaders
Registro
los listener
será llamado con listener(details)
justo antes de que se envíe una solicitud al servidor, las modificaciones de onBeforeSendHeaders
La respuesta es visible en el momento en que se activa este oyente.
webRequest.onHeadersReceived([filter, ]listener)
filter
Objeto (opcional)urls
Cuerda[] – Matriz de patrones de URL que se utilizarán para filtrar las solicitudes que no coinciden con los patrones de URL.
listener
Función | nulldetails
Objetoid
Enterourl
Cuerdamethod
CuerdawebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
Cuerdareferrer
Cuerdatimestamp
DoblestatusLine
CuerdastatusCode
EnterorequestHeaders
RegistroresponseHeaders
Registro(Opcional)
callback
FunciónheadersReceivedResponse
Objetocancel
Booleano (opcional)responseHeaders
Registro(opcional): cuando se proporciona, se supone que el servidor ha respondido con estos encabezados. statusLine
Cadena (opcional): debe proporcionarse al anularresponseHeaders
para cambiar el estado del encabezado, de lo contrario, se utilizará el estado del encabezado de respuesta original.
los listener
será llamado con listener(details, callback)
cuando se han recibido los encabezados de respuesta HTTP de una solicitud.
los callback
tiene que ser llamado con un response
objeto.
webRequest.onResponseStarted([filter, ]listener)
filter
Objeto (opcional)urls
Cuerda[] – Matriz de patrones de URL que se utilizarán para filtrar las solicitudes que no coinciden con los patrones de URL.
listener
Función | nulldetails
Objetoid
Enterourl
Cuerdamethod
CuerdawebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
Cuerdareferrer
Cuerdatimestamp
DobleresponseHeaders
Registro(Opcional) fromCache
Booleano: indica si la respuesta se obtuvo de la memoria caché del disco.statusCode
EnterostatusLine
Cuerda
los listener
será llamado con listener(details)
cuando se recibe el primer byte del cuerpo de 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
Objeto (opcional)urls
Cuerda[] – Matriz de patrones de URL que se utilizarán para filtrar las solicitudes que no coinciden con los patrones de URL.
listener
Función | nulldetails
Objetoid
Enterourl
Cuerdamethod
CuerdawebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
Cuerdareferrer
Cuerdatimestamp
DobleredirectURL
CuerdastatusCode
EnterostatusLine
Cuerdaip
Cadena (opcional): la dirección IP del servidor a la que se envió realmente la solicitud.fromCache
BooleanoresponseHeaders
Registro(Opcional)
los listener
será llamado con listener(details)
cuando un redireccionamiento iniciado por el servidor está a punto de ocurrir.
webRequest.onCompleted([filter, ]listener)
filter
Objeto (opcional)urls
Cuerda[] – Matriz de patrones de URL que se utilizarán para filtrar las solicitudes que no coinciden con los patrones de URL.
listener
Función | nulldetails
Objetoid
Enterourl
Cuerdamethod
CuerdawebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
Cuerdareferrer
Cuerdatimestamp
DobleresponseHeaders
Registro(Opcional) fromCache
BooleanostatusCode
EnterostatusLine
Cuerdaerror
Cuerda
los listener
será llamado con listener(details)
cuando se completa una solicitud.
webRequest.onErrorOccurred([filter, ]listener)
filter
Objeto (opcional)urls
Cuerda[] – Matriz de patrones de URL que se utilizarán para filtrar las solicitudes que no coinciden con los patrones de URL.
listener
Función | nulldetails
Objetoid
Enterourl
Cuerdamethod
CuerdawebContentsId
Entero (opcional)webContents
WebContents (opcional)frame
WebFrameMain (opcional)resourceType
Cuerdareferrer
Cuerdatimestamp
DoblefromCache
Booleanoerror
Cadena: la descripción del error.
los listener
será llamado con listener(details)
cuando ocurre un error.
Comentarios y calificaciones del artículo
Si posees algún atolladero o capacidad de desarrollar nuestro crónica puedes escribir una ilustración y con placer lo interpretaremos.