类: IncomingMessage
类: IncomingMessage
处理对 HTTP/HTTPS 请求的响应。
进程:主进程,工具进程
此类不是从 'electron'
模块导出的。 它仅作为 Electron API 中其他方法的返回值可用。
IncomingMessage
实现了 Readable Stream 接口,因此是一个 EventEmitter。
实例事件
事件: 'data'
返回
chunk
Buffer - 响应体数据的一个块。
data
事件是将响应数据传输到应用程序代码的常用方法。
事件: 'end'
表示响应体已结束。 必须放在 'data' 事件之前。
事件: 'aborted'
当正在进行的 HTTP 事务期间请求被取消时发出。
事件: 'error'
返回
error
Error - 通常包含一个错误字符串,用于标识失败的根本原因。
当在流式传输响应数据事件时遇到错误时发出。 例如,如果服务器在响应仍在流式传输时关闭了底层,则将在响应对象上发出 error
事件,并且随后将在请求对象上发出 close
事件。
实例属性
一个 IncomingMessage
实例具有以下可读属性
response.statusCode
一个 Integer
,表示 HTTP 响应状态代码。
response.statusMessage
一个 string
,表示 HTTP 状态消息。
response.headers
一个 Record<string, string | string[]>
,表示 HTTP 响应标头。 headers
对象的格式如下
- 所有标头名称都将转换为小写。
age
、authorization
、content-length
、content-type
、etag
、expires
、from
、host
、if-modified-since
、if-unmodified-since
、last-modified
、location
、max-forwards
、proxy-authorization
、referer
、retry-after
、server
或user-agent
的重复项将被丢弃。set-cookie
始终是一个数组。 重复项将添加到数组中。- 对于重复的
cookie
标头,值将使用 '; ' 连接在一起。 - 对于所有其他标头,值将使用 ', ' 连接在一起。
response.httpVersion
一个 string
,表示 HTTP 协议版本号。 典型值为“1.0”或“1.1”。 此外,httpVersionMajor
和 httpVersionMinor
是两个整数值的可读属性,分别返回 HTTP 主要版本号和次要版本号。
response.httpVersionMajor
一个 Integer
,表示 HTTP 协议主要版本号。
response.httpVersionMinor
一个 Integer
,表示 HTTP 协议次要版本号。
response.rawHeaders
一个 string[]
,包含接收到的原始 HTTP 响应标头。 键和值在同一列表中。 它不是一个元组列表。 因此,偶数偏移量是键值,奇数偏移量是关联的值。 标头名称不会转换为小写,并且不会合并重复项。
// Prints something like:
//
// [ 'user-agent',
// 'this is invalid because there can be only one',
// 'User-Agent',
// 'curl/7.22.0',
// 'Host',
// '127.0.0.1:8000',
// 'ACCEPT',
// '*/*' ]
console.log(response.rawHeaders)