@colyseus/httpie

中文文档
2.0.1发布于 2025/05/31MITTypeScriptESM + CJS零依赖近 30 天下载 14.4万

一个轻量级,基于承诺的HTTP客户端,用于Node.js和浏览器~!

中文使用文档
文档目录12 节
  1. 特征
  2. 安装
  3. 使用量
  4. API 密码
  5. 发送( 方法、 url、 选择)
  6. 获取( url, 选项qq)
  7. 帖子( url, 选项qq)
  8. put( url, 选项%%% )
  9. 补丁( url, 选项qq)
  10. del( url, 选项%%% )
  11. 处理错误
  12. 许可证
httpie
一个节点.js和浏览器HTTP客户端像派一样容易!

特征

  • Promise- 基于 HTTP 请求器
  • HTTP 和 HTTPS 协议
  • 自动处理 JSON 请求和答复
  • 极轻重量 无依赖关系 678字节!
  • 包括常见的HTTP动词的别名: get, (中文(简体) ), post, (中文(简体) ), put, (中文(简体) ), patch,以及 del

此外,本单元是:

安装

$ npm install --save httpie

使用量

说明: 这个 async 语法是用于演示目的的 – 您也可以在节点 6. x 环境中使用 promises!

import { get, post } from 'httpie';

try {
  const { data } = await get('https://pokeapi.co/api/v2/pokemon/1');

  // Demo: Endpoint will echo what we've sent
  const res = await post('https://jsonplaceholder.typicode.com/posts', {
    body: {
      id: data.id,
      name: data.name,
      number: data.order,
      moves: data.moves.slice(0, 6)
    }
  });

  console.log(res.statusCode); //=> 201
  console.log(res.data); //=> { id: 1, name: 'bulbasaur', number: 1, moves: [{...}, {...}] }
} catch (err) {
  console.error('Error!', err.statusCode, err.message);
  console.error('~> headers:', err.headers);
  console.error('~> data:', err.data);
}

API 密码

发送( 方法、 url、 选择)

回返情况: Promise

任意 httpie.send 请求(及其别名)将永远返回一个应许.

如果反应是 statusCode 这是400 或 以上 、 此承诺将因格式化的错误而拒绝 。 请看 处理错误否则, " 承诺 " 将完全解决 ClientRequest 流线.

确定的答复将获得一个新的 data 将包含反应的全部有效载荷。 如果回复返回 JSON 内容,那么 httpie 会分析它和 res.data 值将是生成的 JSON 对象 !

方法

类型 : String

HTTP 方法名称 – 它必须是大写 !

url 密码

类型 : String 或者说 URL

若为 url 是字符串, 它自动被解析 url.parse() 变成物体.

选择. body

类型 : Mixed
默认 : undefined

请求的身体,可以是任何类型的!

没有Buffer 对象将被转换成 JSON 字符串, 并适合 Content-Type 头将相接.

此外, httpie 将 永远 设置值 Content-Length 头!

选择。标题

类型 : Object
默认 : {}

随您请求发送的自定义信头 .

选择. 方向

类型 : Boolean
默认 : true

是否应当自动跟踪重定向回复.

说明: 只有在3xx状态下才会发生 财务报告和审定财务报表 如果答复是 Location 头曰.

选择. reviver

类型 : Function
默认 : undefined

直接传递给 JSON.parse,允许您在 httpie 请求解决.

说明: 这个会 仅限 运行,如果 httpie 发现JSON在反应中!

选择. 超时

类型 : Integer
默认 : undefined

自动终止请求前的时间, 以毫秒计 .

当请求超过这一时限时, httpie 以 err<Error>,添加事实 err.timeout 数值.

重要内容: 节点和浏览器版本之间有轻微的行为差异!
在服务器上 timeout 价值 不传播 转到任何方向.
在浏览器中 timeout 价值 不会 重定向时重置 .

选择。带有证书

类型 : Boolean
默认 : false

跨场请求是否应当包括全权证书(如饼干).
此值直接传递到 XMLHttpRequest.withCredentials。 。 。 .

重要: 这是给 浏览器版本 仅此而已!

获取( url, 选项qq)

别名 send('GET', url, opts)。 。 。 .

帖子( url, 选项qq)

别名 send('POST', url, opts)。 。 。 .

put( url, 选项%%% )

别名 send('PUT', url, opts)。 。 。 .

补丁( url, 选项qq)

别名 send('PATCH', url, opts)。 。 。 .

del( url, 选项%%% )

别名 send('DELETE', url, opts)。 。 。 .

处理错误

所有答复 statusCode >= 400 会导致被拒绝 httpie 请求。 当发生这种情况时,一个错误实例格式化为完整信息 :

  • err.message – 说吧 – String - 与《联合国宪章》 err.statusMessage· ;
  • err.statusMessage – 说吧 – String - 反应是 statusMessage 数值;
  • err.statusCode – 说吧 – Number - 反应是 statusCode 数值;
  • err.headers – 说吧 – Object - 反应是 headers 对象;
  • err.data – 说吧 – Mixed - 反应的有效载荷;

此外,因超时而出错将具有真实性 err.timeout 数值.

重要内容: 错误 data 属性也可以被解析为 JSON 对象,根据响应头.

import { get } from 'httpie';

get('https://example.com/404').catch(err => {
  console.error(`(${err.statusCode}) ${err.message}`)
  console.error(err.headers['content-type']);
  console.error(`~> ${err.data}`);
});
//=> "(404) Not Found"
//=> "text/html; charset=UTF-8"
//=> ~> <?xml version="1.0" encoding="iso-8859-1"?>\n<!DOCTYPE html ...</body>\n</html>

许可证

麻省理工学院 卢克·爱德华兹

版本与发布记录

@colyseus/httpie 共发布 2 个版本,首次发布于 2025/05/31;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.1latest2025/05/311.4 年前
2.0.02025/05/311.4 年前

关于 @colyseus/httpie 的常见问题

@colyseus/httpie 是什么?

一个轻量级,基于承诺的HTTP客户端,用于Node.js和浏览器~!

如何安装 @colyseus/httpie?

在项目目录运行 npm install @colyseus/httpie,或使用 pnpm add / yarn add / bun add。

@colyseus/httpie 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@colyseus/httpie 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@colyseus/httpie 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=10。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@colyseus/httpie 可以商用吗?

@colyseus/httpie 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@colyseus/httpie 的下载量有多少?

根据 npm 官方下载统计,@colyseus/httpie 在 2026/10/11 – 2026/11/09 这 30 天内被下载 144,226 次,日均约 4,808 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@colyseus/httpie 还在维护吗?

最新版本 2.0.1 发布于 2025/05/31(1.4 年前);至今共发布 2 个版本,其中过去 12 个月发布了 0 个;首次发布于 2025/05/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。