跳到主要内容

类: 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

指示 HTTP 响应状态代码的 Integer

response.statusMessage

表示 HTTP 状态消息的 string

response.headers

表示 HTTP 响应标头的 Record<string, string | string[]>headers 对象的格式如下

  • 所有标头名称均为小写。
  • ageauthorizationcontent-lengthcontent-typeetagexpiresfromhostif-modified-sinceif-unmodified-sincelast-modifiedlocationmax-forwardsproxy-authorizationrefererretry-afterserveruser-agent 的重复项将被丢弃。
  • set-cookie 始终是一个数组。重复项将添加到数组中。
  • 对于重复的 cookie 标头,这些值将用 '; ' 连接在一起。
  • 对于所有其他标头,这些值将用 ', ' 连接在一起。

response.httpVersion

指示 HTTP 协议版本号的 string。 典型值为 '1.0' 或 '1.1'。 此外,httpVersionMajorhttpVersionMinor 是两个整数值的可读属性,分别返回 HTTP 主版本号和次版本号。

response.httpVersionMajor

指示 HTTP 协议主版本号的 Integer

response.httpVersionMinor

指示 HTTP 协议次版本号的 Integer

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)