Spec-Zone.ru › Electron

Класс: 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 Целое число (необязательно)
      • webContents WebContents (необязательно)
      • frame WebFrameMain (необязательно)
      • resourceType строка - Может быть mainFrame, subFrame, stylesheet, script, image, font, object, xhr, ping, cspReport, media, webSocket или other.
      • referrer строка
      • timestamp Двойное число
      • uploadData UploadData[]
    • callback Функция
      • response Объект
        • cancel boolean (необязательно)
        • 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 Целое число (необязательно)
      • webContents WebContents (необязательно)
      • frame WebFrameMain (необязательно)
      • resourceType строка - Может быть mainFrame, subFrame, stylesheet, script, image, font, object, xhr, ping, cspReport, media, webSocket или other.
      • referrer строка
      • timestamp Двойное число
      • uploadData UploadData[] (необязательно)
      • requestHeaders Record<строка, строка>
    • callback Функция
      • beforeSendResponse Объект
        * `cancel` boolean (optional)
        * `requestHeaders` Record<string, string | string[]&#62; (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 Целое число (необязательно)
      • webContents WebContents (необязательно)
      • frame WebFrameMain (необязательно)
      • resourceType строка - Может быть mainFrame, subFrame, stylesheet, script, image, font, object, xhr, ping, cspReport, media, webSocket или other.
      • referrer строка
      • timestamp Двойное число
      • requestHeaders Record<строка, строка>

Метод listener будет вызван с listener(details) незадолго перед отправкой запроса на сервер, модификации предыдущего ответа onBeforeSendHeaders видны к моменту вызова этого слушателя.

webRequest.onHeadersReceived([filter, ]listener)​

  • filter ФильтрWebRequest (необязательно)
  • listener Функция | null
    • details Объект
      • id Целое число
      • url строка
      • method строка
      • webContentsId Целое число (необязательно)
      • webContents WebContents (необязательно)
      • frame WebFrameMain (необязательно)
      • resourceType строка - Может быть mainFrame, subFrame, stylesheet, script, image, font, object, xhr, ping, cspReport, media, webSocket или other.
      • referrer строка
      • timestamp Двойное число
      • statusLine строка
      • statusCode Целое число
      • responseHeaders Record<строка, массив строк> (необязательно)
    • callback Функция
      • headersReceivedResponse Объект
        • cancel boolean (необязательно)
        • responseHeaders Record<строка, строка | массив строк> (необязательно) - Если указано, предполагается, что сервер ответил с этими заголовками.
        • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API