Класс: WebRequest
Класс: WebRequest
Перехватывает и изменяет содержимое запроса на разных этапах его жизненного цикла.
Процесс: Главный
Этот класс не экспортируется из модуля 'electron'. Он доступен только в качестве результата других методов в API Electron.
Экземпляры класса WebRequest доступны через свойство webRequest объекта Session.
Методы WebRequest принимают необязательный filter и listener. Метод listener будет вызван с listener(details), когда произойдёт событие API. Объект details описывает запрос.
⚠️ Будет использоваться только последний прикреплённый listener. Передача null в качестве listener отменит подписку на событие.
Объект filter имеет свойство urls, которое представляет собой массив URL-шаблонов, используемых для фильтрации запросов, не соответствующих этим шаблонам. Если filter опущено, то все запросы будут соответствовать.
Для определённых событий передаётся listener с callback, который должен быть вызван с объектом response, когда listener завершит свою работу.
Пример добавления заголовка User-Agent для запросов:
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 })
})
Методы экземпляров
Ниже приведены доступные методы для экземпляров WebRequest:
webRequest.onBeforeRequest([filter, ]listener)
-
filterФильтрWebRequest (необязательно) -
listenerФункция | null-
detailsОбъект-
idЦелое число -
urlстрока -
methodстрока -
webContentsIdЦелое число (необязательно) -
webContentsWebContents (необязательно) -
frameWebFrameMain (необязательно) -
resourceTypeстрока - Может бытьmainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketилиother. -
referrerстрока -
timestampДвойное число -
uploadDataUploadData[]
-
-
callbackФункция-
responseОбъект-
cancelboolean (необязательно) -
redirectURLстрока (необязательно) - Исходный запрос не отправляется или не завершается, а вместо этого перенаправляется на указанный URL.
-
-
-
Метод listener будет вызван с listener(details, callback) перед выполнением запроса.
uploadData — массив объектов UploadData.
Метод callback должен быть вызван с объектом response.
Примеры допустимых 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ФильтрWebRequest (необязательно) -
listenerФункция | null-
detailsОбъект-
idЦелое число -
urlстрока -
methodстрока -
webContentsIdЦелое число (необязательно) -
webContentsWebContents (необязательно) -
frameWebFrameMain (необязательно) -
resourceTypeстрока - Может бытьmainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketилиother. -
referrerстрока -
timestampДвойное число -
uploadDataUploadData[] (необязательно) -
requestHeadersRecord<строка, строка>
-
-
callbackФункция-
beforeSendResponseОбъектс этими заголовками.* `cancel` boolean (optional) * `requestHeaders` Record<string, string | string[]> (optional) - When provided, request will be made
-
-
Метод listener будет вызван с listener(details, callback) перед отправкой HTTP-запроса, после получения заголовков запроса. Это может произойти после установления TCP-соединения с сервером, но до отправки любых данных http.
Метод callback должен быть вызван с объектом response.
webRequest.onSendHeaders([filter, ]listener)
-
filterФильтрWebRequest (необязательно) -
listenerФункция | null-
detailsОбъект-
idЦелое число -
urlстрока -
methodстрока -
webContentsIdЦелое число (необязательно) -
webContentsWebContents (необязательно) -
frameWebFrameMain (необязательно) -
resourceTypeстрока - Может бытьmainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketилиother. -
referrerстрока -
timestampДвойное число -
requestHeadersRecord<строка, строка>
-
-
Метод listener будет вызван с listener(details) незадолго перед отправкой запроса на сервер, модификации предыдущего ответа onBeforeSendHeaders видны к моменту вызова этого слушателя.
webRequest.onHeadersReceived([filter, ]listener)
-
filterФильтрWebRequest (необязательно) -
listenerФункция | null-
detailsОбъект-
idЦелое число -
urlстрока -
methodстрока -
webContentsIdЦелое число (необязательно) -
webContentsWebContents (необязательно) -
frameWebFrameMain (необязательно) -
resourceTypeстрока - Может бытьmainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketилиother. -
referrerстрока -
timestampДвойное число -
statusLineстрока -
statusCodeЦелое число -
responseHeadersRecord<строка, массив строк> (необязательно)
-
-
callbackФункция-
headersReceivedResponseОбъект-
cancelboolean (необязательно) -
responseHeadersRecord<строка, строка | массив строк> (необязательно) - Если указано, предполагается, что сервер ответил с этими заголовками. -
statusLineстрока (необязательно) - Следует указать при переопределенииresponseHeaders, чтобы изменить статус заголовка, в противном случае будет использоваться исходный статус заголовка ответа.
-
-
-
Метод listener вызывается с listener(details, callback) при получении HTTP-заголовков ответа запроса.
Метод callback должен быть вызван с объектом response.
webRequest.onResponseStarted([filter, ]listener)
-
filterФильтр запроса на веб-страницу (необязательно) -
listenerФункция | null-
detailsОбъект-
idЦелое число -
urlстрока -
methodстрока -
webContentsIdЦелое число (необязательно) -
webContentsСодержимое веб-страницы (необязательно) -
frameОсновная страница веб-фрейма (необязательно) -
resourceTypeстрока - Может бытьmainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketилиother. -
referrerстрока -
timestampВещественное число -
responseHeadersЗапись<строка, массив строк> (необязательно) -
fromCacheлогическое значение - Указывает, был ли ответ получен из кэша на диске. -
statusCodeЦелое число -
statusLineстрока
-
-
Функция listener будет вызвана с listener(details) при получении первого байта тела ответа. Для HTTP-запросов это означает, что строка состояния и заголовки ответа доступны.
webRequest.onBeforeRedirect([filter, ]listener)
-
filterФильтр запроса на веб-страницу (необязательно) -
listenerФункция | null-
detailsОбъект-
idЦелое число -
urlстрока -
methodстрока -
webContentsIdЦелое число (необязательно) -
webContentsСодержимое веб-страницы (необязательно) -
frameОсновная страница веб-фрейма (необязательно) -
resourceTypeстрока - Может бытьmainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketилиother. -
referrerстрока -
timestampВещественное число -
redirectURLстрока -
statusCodeЦелое число -
statusLineстрока -
ipстрока (необязательно) - IP-адрес сервера, к которому был отправлен запрос. -
fromCacheлогическое значение -
responseHeadersЗапись<строка, массив строк> (необязательно)
-
-
Функция listener будет вызвана с listener(details) при предстоящем перенаправлении, инициированном сервером.
webRequest.onCompleted([filter, ]listener)
-
filterФильтр запроса на веб-страницу (необязательно) -
listenerФункция | null-
detailsОбъект-
idЦелое число -
urlстрока -
methodстрока -
webContentsIdЦелое число (необязательно) -
webContentsСодержимое веб-страницы (необязательно) -
frameОсновная страница веб-фрейма (необязательно) -
resourceTypeстрока - Может бытьmainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketилиother. -
referrerстрока -
timestampВещественное число -
responseHeadersЗапись<строка, массив строк> (необязательно) -
fromCacheлогическое значение -
statusCodeЦелое число -
statusLineстрока -
errorстрока
-
-
Функция listener будет вызвана с listener(details) при завершении запроса.
webRequest.onErrorOccurred([filter, ]listener)
-
filterФильтр запроса на веб-страницу (необязательно) -
listenerФункция | null-
detailsОбъект-
idЦелое число -
urlстрока -
methodстрока -
webContentsIdЦелое число (необязательно) -
webContentsСодержимое веб-страницы (необязательно) -
frameОсновная страница веб-фрейма (необязательно) -
resourceTypeстрока - Может бытьmainFrame,subFrame,stylesheet,script,image,font,object,xhr,ping,cspReport,media,webSocketилиother. -
referrerстрока -
timestampВещественное число -
fromCacheлогическое значение -
errorстрока - описание ошибки.
-
-
Функция listener будет вызвана с listener(details) при возникновении ошибки.
© GitHub Inc.
Licensed under the MIT license.
https://www.electronjs.org/docs/latest/api/web-request