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 | null
    • details Objeto
      • id Entero
      • url Cuerda
      • method Cuerda
      • webContentsId Entero (opcional)
      • webContents WebContents (opcional)
      • frame WebFrameMain (opcional)
      • resourceType Cuerda
      • referrer Cuerda
      • timestamp Doble
      • uploadDataSubir datos[]
    • callback Función
      • response Objeto
        • cancel 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 | null
    • details Objeto
      • id Entero
      • url Cuerda
      • method Cuerda
      • webContentsId Entero (opcional)
      • webContents WebContents (opcional)
      • frame WebFrameMain (opcional)
      • resourceType Cuerda
      • referrer Cuerda
      • timestamp Doble
      • requestHeaders Registro
    • callback Función
      • beforeSendResponse Objeto cancel 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 | null
    • details Objeto
      • id Entero
      • url Cuerda
      • method Cuerda
      • webContentsId Entero (opcional)
      • webContents WebContents (opcional)
      • frame WebFrameMain (opcional)
      • resourceType Cuerda
      • referrer Cuerda
      • timestamp Doble
      • requestHeaders 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 | null
    • details Objeto
      • id Entero
      • url Cuerda
      • method Cuerda
      • webContentsId Entero (opcional)
      • webContents WebContents (opcional)
      • frame WebFrameMain (opcional)
      • resourceType Cuerda
      • referrer Cuerda
      • timestamp Doble
      • statusLine Cuerda
      • statusCode Entero
      • requestHeaders Registro
      • responseHeaders Registro (Opcional)
    • callback Función
      • headersReceivedResponse Objeto
        • cancel Booleano (opcional)
        • responseHeaders Registro (opcional): cuando se proporciona, se supone que el servidor ha respondido con estos encabezados.
        • statusLine Cadena (opcional): debe proporcionarse al anular responseHeaders 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 | null
    • details Objeto
      • id Entero
      • url Cuerda
      • method Cuerda
      • webContentsId Entero (opcional)
      • webContents WebContents (opcional)
      • frame WebFrameMain (opcional)
      • resourceType Cuerda
      • referrer Cuerda
      • timestamp Doble
      • responseHeaders Registro (Opcional)
      • fromCache Booleano: indica si la respuesta se obtuvo de la memoria caché del disco.
      • statusCode Entero
      • statusLine 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 | null
    • details Objeto
      • id Entero
      • url Cuerda
      • method Cuerda
      • webContentsId Entero (opcional)
      • webContents WebContents (opcional)
      • frame WebFrameMain (opcional)
      • resourceType Cuerda
      • referrer Cuerda
      • timestamp Doble
      • redirectURL Cuerda
      • statusCode Entero
      • statusLine Cuerda
      • ip Cadena (opcional): la dirección IP del servidor a la que se envió realmente la solicitud.
      • fromCache Booleano
      • responseHeaders 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 | null
    • details Objeto
      • id Entero
      • url Cuerda
      • method Cuerda
      • webContentsId Entero (opcional)
      • webContents WebContents (opcional)
      • frame WebFrameMain (opcional)
      • resourceType Cuerda
      • referrer Cuerda
      • timestamp Doble
      • responseHeaders Registro (Opcional)
      • fromCache Booleano
      • statusCode Entero
      • statusLine Cuerda
      • error 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 | null
    • details Objeto
      • id Entero
      • url Cuerda
      • method Cuerda
      • webContentsId Entero (opcional)
      • webContents WebContents (opcional)
      • frame WebFrameMain (opcional)
      • resourceType Cuerda
      • referrer Cuerda
      • timestamp Doble
      • fromCache Booleano
      • error Cadena: la descripción del error.

los listener será llamado con listener(details) cuando ocurre un error.