Class: ClientRequest
Class: ClientRequest
Создает HTTP/HTTPS-запросы.
Process: Main, Utility
This class is not exported from the 'electron'
module. Он доступен только в качестве возвращаемого значения других методов в Electron API.
ClientRequest
реализует интерфейс Writable Stream и EventEmitter.
new ClientRequest(options)
Свойства options
, такие как protocol
, host
, hostname
, port
и path
, строго следуют мод ели Node.js, которая описана в модуле URL.
Например, мы могли бы создать такой же запрос на 'github.com' следующим образом:
const request = net.request({
method: 'GET',
protocol: 'https:',
hostname: 'github.com',
port: 443,
path: '/'
})
События экземпляра
Событие: 'response'
Возвращает:
response
IncomingMessage - An object representing the HTTP response message.
Событие: 'login'
Возвращает:
authInfo
ObjectisProxy
booleanscheme
stringhost
stringport
Integerrealm
string
callback
Functionusername
string (optional)password
string (optional)
Происходит, когда прокси-сервер, выполняющий проверку подлинности, запрашивает учетные данные пользователя.
Ожидается, что функция callback
будет вызвана с учетными данными пользователя:
username
stringpassword
string
request.on('login', (authInfo, callback) => {
callback('username', 'password')
})
Предоставление пустых учетных данных отменит запрос и сообщит об ошибке проверки подлинности в объекте ответа:
request.on('response', (response) => {
console.log(`STATUS: ${response.statusCode}`)
response.on('error', (error) => {
console.log(`ERROR: ${JSON.stringify(error)}`)
})
})
request.on('login', (authInfo, callback) => {
callback()
})
Событие: 'finish'
Происходит сразу после того, как последняя часть данных запроса
была записана в объект request
.
Событие: 'abort'
Возникает при прерывании request
. Событие abort
не будет запущено, если request
уже закрыт.
Событие: 'error'
Возвращает:
error
Error - объект ошибки, содержащий некоторую информацию о неудаче.
Происходит, когда модулю net
не удается выполнить сетевой запрос. Обычно, когда объект request
генерирует событие error
, в последствии последует событие close
и не будет представлен объект ответа.
Событие: 'close'
Происходит как последнее событие в транзакции HTTP запроса-ответа. Событие close
указывает, что больше события не будут происходить ни на request
, ни на response
объектах.
Событие: 'redirect'
Возвращает:
statusCode
Integermethod
stringredirectUrl
stringresponseHeaders
Record<string, string[]>
Используется при возврате сервером перенаправленного ответа (например, 301 Перемещено навсегда). Вызов request.followRedirect
продолжится с перенаправлением. Если событие обработано, request.followRedirect
должен вызываться синхронно, в противном случае запрос будет отменен.
Свойства экземпляра
request.chunkedEncoding
boolean
, определяющий, будет ли запрос использовать в HTTP шифрование передачи частей или нет. По умолчанию - false. Свойство доступно для чтения и записи, в любом случае оно может быть установлено только до первой операции записи, поскольку HTTP-заголовки еще не отправлены. Попытка установить свойство chunkedEncoding
после первой записи вызовет ошибку.
Использование шифрование частей настоятельно рекомендуется, если Вам необходимо отправить большое содержимое запроса как данные, которые будут передаваться в потоке малыми частями вместо внутренней буферизации в памяти процесса Electron.